Unless you know the dive boat that the ship uses, you can do better on your own. It's all in doing your homework. After all, the ship could put you on a cattle boat that takes an hour or more to get to a decent site, leaving you precious little time for actual diving. On my last trip, we took off from a hotel on the southern end of the island and were looking at the Palancar reefs within 20 minutes...one of the top dive sites in the world, IMHO.
I haven't been to Cozumel or the Caymans recently so I can't recommend anyone. Find out which boats other divers recommend. Check out the message boards here and at other cruise and diving web sites.