There are a lot of reasons both to use the ship's vendor and not to. The main advantages to are logistical - you don't have to worry about the schedule and you know the ship won't leave without you.
Reasons not to are to get a more personalized service, go to better dive sites, smaller boats, longer bottom times... some or all of the above.
Cruise ships cater to divers who generally don't dive all that frequently - often just once every couple years or so. For someone who dives more frequently and is more experienced, the restrictions on bottom times and such sometimes aren't attractive. Wihle there are many good divers who choose to go with the cruise ship for ease, in most ports, there are other options which don't take much more work and allow for a lot more flexibility and quality experience.