A lot will depend on the amount of time you have in Cozumel. I loved Chankanaab Park, short taxi ride from the pier. I know the others require more travel time, so time is the factor. If you want to do the dolphin swim, its great at Chankanaab along with good snorkeling.
Chankanaab is 30min from the cruise piers, Xcaret is minimum 1h-1.5hours (including ferry/tender to mainland) and Xel ha is 2-2.5h from your ship (same ferry as Xcaret)...Chankanaab may be the smallest of the 3, then comes Xel-Ha and Xcaret beeing the largest. Typical for are Chankanaab for snorkeling and dolphins, Xel-Ha for fresh water lagoon snorkeling and Xcaret for the many attractions, dolphin, sea trek, etc....I agree with Donna, it is a matter of time and what activity you are interested in..good luck!