Let's talk about both onboard and offboard shopping.
I bought a 0.87 princess cut tanzanite and 4 - 0.45 princess cut diamonds ring for $1350 after a 40% sale and an additional 20% sale. There is a guarantee, so I came home and had it checked out with gemologist friend. I didn't have the nerve to disclose how much I paid, but I was told it is not an excellent stone, but a "good" stone. It is a color that I really find attractive and I haven't found anything like it on the web or in stores. He said to think of it more as a souvenir since I enjoyed the trip and don't worry about the price because they won't do you wrong. Even so, shop before you go. I still have buyer's remorse and would gladly send it back if I could find one that I liked nearly as much.
As for the jewelry stores on shore, I wouldn't trust them. We were in one without a sign on the front and they claimed to be one that the cruiseline guarantees, but they weren't so we quickly left. I went to one that the cruiseline did guarantee and they tried to get me to buy a light-colored tanzanite ring for $400 after coming down quite a bit. For that same price, my roommate purchased a bracelet on board with more gold, larger tanzanites, and more of them with a darker color (more preferable). If buying, check out the ship's inventory and prices before you go ashore.
Also note that there is a professional shopper whose job is to keep the passengers happy with buying jewelry onshore. (She'll do such things as have drawings and you have to go to the various jewelry counters to drop off your entry form.) When people came back to the boat, they stood in line to talk with her. One couple supposedly bought their jewelry at the guaranteed stores and she just nodded that their purchases were nice. After they left, she told me she was pretty sure they didn't buy them at the correct stores. Beware that you are in the right store. The sellers see people coming with large wallets and will try to scam you. Be wary. The guaranteed stores will not refund your purchase, they will only exchange.
Also, I had a relative who had traveled quite a bit into Mexico and bought many gold rings. I inherited her rings and when I took them to get sized, I was told they were "Mexico gold" and that even though they said 14K, they might be 7K and one of the rings even broke while being resized.
And the moral of the story is simply to do your research before you leave. Instead of using the trip to shop, shop, shop, have a good time and do an excursion each day. Be prepared that the areas are very poor and there is not much else to do except for those expensive excursions. Grand Cayman has the best beach and you can get a taxi there, rent a beach umbrella for $10, and float in the saltwater. (I've never been able to float in freshwater.) Rent snorkel gear as there are reefs right next to the shore and the water is gorgeous.
I hope this helps someone.