In my opinion. I don't think you should miss either Xcaret or Xel Ha. Both are Mexican National Parks which are absolutely amazing. If you want to snorkel, go to Xel Ha. It is a national outdoor aquarium with lots and lots of large varied species of fish, a free porpois show, a few shops, good restaurants, free sun chairs, palm trees and is amazing in every way. Most lines offer a dual excursion to Tulum (a very notable Mayan ruin which is ON the ocean) and Xel Ha. A lunch is included along with some drinks and a guide. (Don't spend too much time listening to the guide.....go off on your own!)
The other choice is Xcaret which is completely amazing! Take the river tubing excursion (about 5 miles long through caves, waterfalls, etc.) Visit a butterfly hatchery, real (and amazing) bat cave (right over your head!), and good authentic Mexican restaurants at the beach! Really a don't miss!
My wife and I have cruised to Cozumel 7 times over the last 3 years and those excursions are, without doubt, the very best.
In fact, we are cruising aboard Splendor of the Seas January 3-13 and will again be visiting Tulum and Xel Ha.
Have a great cruise.
Regards,
Carl