There was one company that serviced the cruise ships for many years, but they have stopped doing that. One of the big reasons is distance... the cruise ships anchor near Belize City, all the reefs for diving are over an hour away. So every excursion meant a long boat ride to their shop to fit everyone and get gear, then another long boat ride to the reefs to dive. Then after 2 dives and a surface interval between, it was a long boat ride to dive shop to drop off gear, the a long boat ride back to ships... it was expensive due to fuel costs and a 7-8 hour excursion! Just for 2 dives.
In my opinion.... Roatan and Cozumel will give you better dives, more fishlife, and shorter excursions. Roatan reefs are right up at the island, so literally a 5-10 minute boat ride. Cozumel they are farther down to the south of island from where the cruise ships port, but fabulous reefs and fishlife. Both Roatan and Cozumel are worth doing. Cozumel is drift diving, Roatan is not as there is very little current.