Many people have had different experiences and good reasons to do what they choose regarding diving excursions. Take my feelings as just one data point. Plus, I know this is not exactly addressing the OP question.
I copied my own previous post for you here:
My experience diving through official cruise ship 'excursion':
- meet in random cruise ship lounge
- wait for missing passengers who overslept
- wait while forgetful diver runs back to room for mask/snorkel/sunscreen
- wait for tender (or maybe dive op boat)
- boat(and maybe bus) from ship to dive shop
- fill out paperwork, and more paperwork
- wait for same forgetful diver to find missing c-card, but then call PADI
- wait for half of the divers to find the right size rental fins/BC/wetsuit
- load on the boat and fight over weights, get stuck with 3 5lb bricks
- listen to forgetful boast about all the many dives they've done
- go to the easiest (and usually most boring) available dive site
- get in the water and float around in the waves waiting for everyone else to get wet
- descend and then wait at the bottom while ms/mr forgetful go back up to add some weight
- dive for 30 minutes, then surface because forgetful sucked all their air
- get back on boat with 1500 psi in tank
- and so on... and so on...
In truth, this is a combination of experiences at multiple locations from several cruises. I'm exaggerating some, for comic value, but not a lot. I've had much better luck booking direct.