I would say you should buy from the gift shop on a cruise rather than on the islands. That way, it would be easier to return and/or repair an item you purchased. Depending on which cruise line you go on, most, or all will have some form of a warranty added to your purchase. The prices on the ship and at port are usually the same. However, the selection onboard may be limited. If you do decide to purchase jewelery at port, you should only go to the places that have an agreement with the cruise line. I wouldn't recommend shopping at any of the ports. The last time I went into one of the businesses, the salesperson thought she had me at hello, and was pressuring me into buying a watch.
Norwegian Pearl 12/19/09
Carnival Miracle 12/23/08
Carnival Legend 4/1/07
Carnival Liberty 1/1/06,11/21/06
Caribbean Princess 5/28/05
Norwegian Wind 3/20/04
Carnival Legend 12/20/02, 3/18/03
Carnival Fascination 11/1/02
Carnival Victory 3/17/02
Carnival Triumph 3/17/01
RCI Majesty Of The Seas 1/5/01
Carnival Ecstasy 1/15/99, 2/04/00
If you plan to shop on a cruise, look for similar items at home before you go just so you have an idea of what is a bargain and what is not. This applies to jewelry, electronics or whatever. We walked in and out of one of those recommended jewelry stores in St. Thomas because my wife has a good feel for what prices are at home.
A Bad Day At Sea [with power] Always Beats A Good Day At Work
Alaska 2014 - haven't picked a cruise yet
Carnival: Glory 2004, Destiny 2008, Splendor 2009, Freedom 2011, Valor 2012, Dream 2013
Celebrity: Summit 2011
Princess: Ruby 2010, Caribbean 2013
Thee was a time when you could get some fantastic deals on the islands, those are long gone. Its always best to have an idea of what these things cost at home first. I'd rather make a big purchase closer to home in case of problems.
I agree with Donna. The prices aren't that great anymore. In fact, they are sometimes more expensive than at home. And, if you buy at home, it's easier to get a solution if you run into problems. These days, I would never buy luxury goods on a ship or in the islands. Unless you find something inexpensive enough that you can afford to look at it as a great souvenir of your cruise, skip it.