Grand Cayman is the spot to do the Stingray excursion- even if you're afraid at all. I was at first, but it's really nothing and you really remember the expirience forever. I've never been to Jamaica on a cruise, only by staying at a resort, so I don't have any ideas there. Cozumel would probably be your best bet for Snorkling, as the water there is an incredible clear and beautiful blue. The water is so clear, in fact, that you can see all the way to the bottom from the ship. And lastly, for non-crowded beaches, I would reccomend being a guest for a day at a resort. You get the good changing rooms/bathrooms, and a private beach. Hope this helps, and have a great cruise!