I spent a week in Cancun a year ago February and spent a day each at Chichen Itza and Xcaret. Both were awesome experiences but we had the advantage of a full day at both places because we didn't have to get back to a ship. Xcaret allows you to have beach time, do dolphin swims, snorkel in underground rivers, and see Mayan villages and ball games. Chichen Itza is more impressive than Tulum but much more costly as you noted. I would decide if you prefer ruins (and shopping time if you do Tulum) or water sports if you do Xcaret then your choice is made.