I haven’t gone diving on a cruise, but know people who have. What they strongly recommended to me if I went on a cruise and wanted to dive, make your diving arrangements through the cruise ship concierge and not a local dive shop.
If you make arrangements through local lds, you’re responsible for getting to and from dive shop, and if your late getting back, the boat sails without you. And you have to make arrangements to get back to the ship on your own, which could mean paying for a flight to your next port of call and paying for a hotel room to spend the night in.
If you make arrangements through cruise ship, they will get you back and forth and will wait for you if you’re late.