I can't help you with Haiti, I have not been there yet. I can help with the other 2. Cozumel is the easiest port in your list to "do you own thing". Meaning not spending the extra money to book a tour through the ship. And Sonny is correct, it IS the best choice for snorkeling. You can book through the ship if you want, but we normally just go to the taxi stand area and either ask a taxi to take us to a nice beach or negoiate with a taxi/tour guy for an all inclusive resort. The later can be had for $20 to $25 a person and normally includes transportation to and from, use of the beach chairs, snorkeling equipement, and some beach toys (trampoline ot sea kayak type stuff).
Although, taxi rides in Cozumel are cheap enough that you might be better off just asking one to take you to a beach and paying for the snorkel equipment rental when you get there. Places I have used - Hotel Cozumel Caribi, Money (might be Dollar) Bar beach, Playa Del Sol. You can also just do Chakanab (sp?) but that is where all the tourists go and it gets crowded. If you decide to do that, go online and find their website. They normally have coupons for admission and you can get in for less money than at the gate.
Jamaica- with a family, I would stick to a ship sponsored tour there. The "normal" ones are Dunns River Falls and one of a couple of river floats. There are a couple of plantation tours and there are also catamaran snorkel tours. These will generally pick you up right where the ship docks and take you out to snorkel a nearby reef. Some provide snacks and drinks. Be careful though as the ones they are called "party" tours typically involve a lot of rum punch drinking and may not be suitable for your kids.
Your other choice for Jamaica is to do an all inclusive hotel "beach break". Much like Cozumel, this is where a hotel allows you to use their beach/pool facilities for the day for a fee. These can be nice since the locals can't get in and pester you to buy stuff (and they will if you are out in public).
In the past I have given Jamaica a bad rap for being overly aggresive with their sales and in general for it not being a tourist friendly place. But the last time we were there we decided to venture off the ship and were pleasently surprised to find the locals to be very nice. Yes, they still asked you to come into the stores but a simple no thank you was enough for them to stop. Unlike before where they would not take "no" for an answer and would almost drag you into their shops. We discussed this with a taxi driver on the way back to the ship and he said the government is really trying to improve the tourist atmosphere lately. That doesn't mean I would not be very careful where I go there and I still would not recommend trying to organize your own tour (especially if its your first time there)
Hope all that helps. If you find some names of beaches on line and want opinions, post back and we will try to help.
Carnival Cruise Lines:
Fantasy 90, Celebration 95, Victory 05, Conquest 05, Spirit 6/06, Freedom 6/08, Holiday 7/08, Victory 6/09, Valor 9/09, Dream 6/10, Splendor 8/10,Conquest 8/11,Magic 11/11,Triumph 4/12,Spirit 7/12,Freedom 11/12, Triumph 2/13 - The fire cruise, Magic 1/14, Freedom x 2 6/14
NCL Dream October 2006, RCCL Mariner OTS June 2007, Celebrity Silhouette 2013