On most western carib itins there are better shopping values at other ports than you'll find in Jamaica for most items. I'm not a big fan of Jamaica, as Dave says the locals tend to hassle you more there than at any other port I've been to and I've been to most of them.
If your cruise also includes Mexico ports (Cancun or Cozumel), the touristy souvenier stuff (tshirts, costume jewelry, etc.) is normally priced better there. I don't know about liqour, I don't usually buy it at the ports. I hear they have great coffee available in Jamaica though.
Have fun whatever you do.