I have done before, just what your going to do i would not reccomend diving in Belize, as the areas within striking distance of Belize City, where the Ship ties up, is pretty poor for diving. The real diving, in Belize, is WAYYYY out in the atolls, too far for a day trip. We found the reef conditions to be terrible, and little sea life, except for Squirrel fish. The reef where we went looked to have been blown up by grenades, or a hurricane.
Now that I have said that, Cozumel is certainly doable from the cruise ship. One problem we found with making advanced reservations, is that the cruise ship may not get to port on time, or even get there at all. We had planned a dive while stopping in Jamaica, and at the last minute, the cruise line decided to go to another port city, than the one originally called out for, which caused us to scramble to cancel the dive, and get a refund. Most places won't give you a refund if you cancel a day before or so. The other thing, is that if you book through the ship, as mentioned by DWC above, you'll pay more for the diving, but they won't leave untill you get back. On the other hand, if you book it all yourself, then your on your own to be back aboard in time to sail. Roatan is also doable. some dive ops will pick you up, others ask that you get a cab. Anthonys Key and Bay island beach resort cater to cruise ship customers. Cocoview will take you as well, but it's up to you to get there and back as far as I know, that hasn't changed. Call around or e-mail the resorts and see what they have to offer in Roatan. Good luck