Cozumel - We went to chankanaab national park. It's 10 minutes from the ship, costs $30 return by cab (all safe right from the port) and costs $20 to get it. We've gone there twice, it's great for snorkelling with kids. Check out their web site. Not over crowded, lots to see and do. It is the BEST snorkelling stop on the cruise but as you see in the pics the shore is rocky (hence coral reefs for LOTS of fish!) but there's tons of sandy beach area with thatch umbrellas etc.
they've added zip lines and an alligator enclosure. We didn't go to the dolphin area but swimming with the dolphins etc is all available.
There are cruise line excursions that go there but I would recommend saving a whack of cash and do it yourself. It's government run and very well operated, clean and not run down at all. also very safe.
JAMAICA - Falmouth is a dive outside the private dock area. If you wa We hired a private cab/bus for 8 for $20/pp to drive us to Montego Bay and back. We went to Doctor's Cave beach club for the day. 11-4pm. Clean, safe, reasonable cost. $6 entry, chair, or umbrella. Snorkel gear rental is there. Showers, bar and restaurant. check out their web site. It's a private beach so only a couple of locals selling stuff, I assume they are paid by the beach club. It's 35 minute drive there from the port. If you hire your own cab/bus, make sure they are going to pick you up INSIDE the private RC dock parking lot. All the drivers congregate at the east side of the parking lot waiting for their passengers. Don't forget you have to tip everyone in Jamaica.
Do the ZIP line. It's safe and something you can't do in too many places (google - top 10 longest zip lines).
Bring a couple bucks, the local employees set up your beach chair for you ($1pp) is what I paid. not sure if that was enough but it do the job.
You can't snorkel on the ocean side beach.Personally I would save snorkelling for Montego Bay and Cozumel.