We just got back from all 3 of these locations and this is my opinion.
All 3 are pretty much the same for local stuff such as T-Shirts and trinkets. Just look around a bit and don't always go to just the cruise ship recommended shops. We got most of our best deals at other stores.
Cozumel - cheapest place for Kaluha, Diamond & Tanzanite jewellery. We shopped and went back to the ship...weather wasn't the greatest or we had planned to go to the beach.
Grand Cayman - High end watches such as rolex, tags, etc....Rum... Booked a private company, Stingray City Charters to take us to 2 snorkel stops and Stingray City....$30US for adults and $20 US for kids.....cheap. Awesome day....highly recommend this company.
Jamaica - Mid range watches and jewellery. All other liquor. Booked an all day tour guide...his name was Dennis Mullings and he took us everywhere including Dunn's River for $30 US per person which included our fee into Dunn's. Great deal and he showed us some amazing things.