I've been to Xcaret and loved it. I've never been to Xel-Ha but heard nothing but good things about it. If I get a chance to go back there, that's the next excursion for me.
Someone else asked about Xcaret under the practical advice/shore excursion message board. Check out that thread, there's a little more information. And someone else responded and didn't like Xcaret as much as I did. They said it was really crowded when they went. I can't remember what else was said.
Just returned from a week on the Mayan Riviera. We went to Xel-Ha for the day. If you can get their on your own take the all inclusive package for $50.00. This includes a wonderful lunch, the best snorkeling in the world, a float for a river ride , nice beach, snorkel equipment, towel, and locker. For an additional $90.00 we swam with the dolphins. The park is beautiful and was the original attraction in that area.
Xcaret was being pushed by the hotel but we chose and enjoyed xel-ha.