We have been on 13 cruises and have done both cruise line tours and booked our own tours.
We prefer to book our own tours with independant operators in each of the ports. Whether I pre book or just find a taxi upon disembarkation depends on how "touristy" the port is. For example if we are cruising in the Carribean then we can find a taxi with english speaking driver without a problem. However even here I recommend that you do your homework before you leave home and know what you want to see. I also find that the best tours are generally the ones I have pre-booked with a private operator.
I always start my research by renting a video or 2 on the country/ies we will be visiting. then I make a contribution to Chapters and buy a Frommers tour guide book. Once I have these basic bits of information I start surfing the internet. I also use the cruise ships shore excursions as a good resource centre. Once I/ my group have decided what interests us in each port and what we want to see I start to look for a tour operator that can offer us a good price and show us what we want to see.
WE have enjoyed many wonderful tours this way usually at a significant savings over the ships charges. However the $$ is not the biggest issue here it is the pleasure of being in a small group (no bathroom line-ups) with a tour designed around the interests of our group. Also we get to stop for all the photo opportunities that we want.
To put together a really good private tour in a strange country means a lot of work (many hours of web surfing & reading) but I find that the research and knowledge I glean about the countries we are to visit enhances the total experience for me.
There are certain times when a special tour is offered by the ship that cannot be taken any other way. One cannot be ridgid in ones travel plans.
Cruising - The only way to go!!!