I've done Xcaret twice, the last time being in June 2005. We did book it on the ship for convenience since we were docked at Calica which is adjacent to Xcaret.
Many people think Xcaret is great and assign all manner of praise to the place. I think Xcaret is okay, but nothing special. Some nits: you have to do a great deal of walking to get anywhere, and much of this is over uneven walkways. They accept dollars but give change in pesos. Signage is poor and you can get lost. However, it offers lots of things to do in one location so the convenience is a positive.