I've done it both ways, on over 50 cruises.
Depends on the ship size, passengers, destinations etc.

With The Internet of Things, very easy with just a little bit more effort, very well worth it to plan your own. Learn to research and negotiate. Enjoy the lack of crowds and waiting on stragglers.