Ifg you know where the cruise is stopping, make arrangements on line with the dive shop. They usually will make arrangements to come and get you when the boat docks(not always, though). We've not done a cruise, but that's what those who were on cruises have done when we've been on outings with them. Be sure to tip your boat captain and your dive master... We usually expect to tip about 20-25% of what we spend (and we usually drop between $1000-1500 for a week of diving).
Cozumel in '03 was really nice. Palancar Caves is one of the best places I've ever gone, if you can request that. We were back to Cozumel for a day of diving in '05 (think it was '05-after Wilma and the other two hurrricanes sat on Cancun/Cozumel). The reefs were destroyed and covered in sand. There was very little sand on the beaches and 17' drifts in the forests. Even the wall dive had a lot of sand on it. The second dive (reef flat) had a bommie here and one 25' over there, then another 20' over there... Few and far between. Cancun didn't have the sand problem, but macro algaes were taking over when were there last.
The Bahamas are a common pot for cruise ships, as well as many others (Cozumel, St. Maartin, etc.). The further out we've gone, the more corals we see. St. Maarten is as far towards the edge of the shelf as we've been and while the density of different species seemed lower than other places, the number of corals were greater (and seemed to be doing very well-not having to compete as much with the algaes, etc.). Be careful of the DR, but there can be decent diving there, too, as I understand. Puerto Rico should have some really good diving, too.
It's pretty wide open, so just check out dive shops on line once you know where you're headed. If I had my way (I would tear this old building down-sorry, too much dead channel), I'd be a dive instructor with my own dive outfit, making just enough money to buy worms so I can catch dinner, but loving every minute of every day... We were told two continuous weeks can get you a master certification, and would only run around $2000.