It's too bad that you had a disappointing experience in Nassau. You are correct that booking shore excursions through the ship is a good idea, the problem is that once you have been to a particular port several times, the ship's excursions may not be enough. I would recommend thoroughly checking out sites such as this one to see exactly how to go about "Going it on your own." That way you will know exactly what you are getting into.
For example, there is no reason to book the ship's excursion in Cozumel to go to Playa Mia, since you can simply take a taxi there for less money and spend more time on the beach. It really just depends on the port and where you want to go.
The bottom line is that you are always safer going on an official ship's excursion and the ship should not leave you, but there are some places where it works out really well.