Xel-Ha and Xcaret both have snuba, snorkeling, dolphin swim, a beach and wading pools for young children and toddlers.
Xcaret is definitely the place to go for entertainment. Xcaret has the best "Mexican Fiesta" show/review in all the Yucatan Peninsula. It is Las Vegas quality and quite an excellent production. It is in the evening and you can eat dinner in the theatre if you wish [an extra charge applies for dinner].
Xcaret is also host to an actual recreation of an authentic Mayan Ballcourt. Demonstration games are played here with all the pomp and pageantry that existed during the classic age. Well, maybe not as grandiose, but still pretty awesome. Unfortunately they do not always produce the outdoor Mayan Ballcourt game and instead incorporate it into the big show in the pavilion at night. Either way you can still see actual Mayan Ballcourt being played.
You can also see the Mayan Pole Flyers at Xcaret who perform all day long at different times [times are marked]. There are also traditional Mayan dancers performing at different times of the day. The best show is at 5:00 when the Maya do a real ceremony. Tourists believe that the park is putting on an elaborate show like at Disneyland but what they do not realize is that the performers are not performing. They are real Mayans doing an authentic ceremony. It is absolutely spellbinding!
In a nutshell:
If you are travelling with kids and want a fun day snorkeling and fooling around a unique Eco water park, then Xel-Ha is the place to go.
If you want to see enchanting Mayan dancers, vibrant Mexican performers, a Mexican rodeo, Pole Flyers, a butterfly zoo, etc, etc, then do go to Xcaret.
Other things to consider:
Xcaret is more expensive than Xel-Ha.
Xel-Ha Mayan Ruins* are located just south of the park.
Xcaret is closer to Playa del Carmen and Playacar.
* Seperate admission fee
NOTE: Pace yourself at Xcaret. With the heat and all the walking, swimming and running around you can get burnt out before the big show even starts at night.