We have been to both places. Xcaret is the nearer from Cozumel than Tulum. Both are nice tours. I would probably pick Xcaret. It is a large park that has a zoo, a Marine World type facility with a Dolphin show (for a sum you can pet the Dolphins), but it features water type activities. One of the highlights was swmimming through a large underwater cave (about a mile long or so). The park provides you with life jackets, etc. There are also numerous places where you can exit the caves along the way. It is was a lot of fun and not that difficult. The park has several restaurants and places to sit if you get tired. The setting is along the ocean with a lot of tropical plants.(you can snorket also, but it is not that good).
Tulum involves a little walking to get to the ruins. To tour the ruins is not too strenuous and can be done in an hour or so without much trouble. The setting is pretty as they are along the ocean.
On our tour we stopped at a souvenier stand on the way to the ruins -- had the usual tourist stuff. (spent about a half hour there --I believe our tour operator probably got a cut of what people bought).