You should book the trip that is right for you - more often than not, one that is right for you plus the rest of your party. That takes some thought and research.
One of our cruises stopped at Cozumel, Mexico. If you've never been there, it is a wonderful place - much of the experience doesn't have to cost you anything but taxi fare and a little food to tide you over until you get back to the ship.
A family of four was seated with us for dinner. We had been to Cozumel a half dozen times and didn't plan on spending any money there this time, except for food and some T-shirts from the Hard Rock Cafe. We enjoyed the city and snorkeled in the lagoon. That family of four had never been to Cozumel before, yet they bought a shore excursion to CANCUN. To get to Cancun from Cozumel, one has to take a ferry to Playa del Carmen and then a bus to Cancun, eating 4 - 5 hours of time in transportation. Not only that, most of these tours, especially in Mexico and Jamaica, stop at places where the tour guide gets a kickback from the owner of the premises. More time wasted. Cancun is a nice place to visit, but if you haven't seen where the ship docks...
Another thing to consider when booking Carnival Cruise shore excursions is whether the tour is unique to the place that you are visiting. Snorkeling is fun, but if you can do that closer to home why spend a lot of money doing it somewhere else? Doing it free is one thing, but paying for it is entirely something else. In fact, at most cruise stops all you have to do is tell a taxi driver to take you to the nearest good snorkeling. You will need your own equipment, but if you don't have it you could probably buy your own for the cost of the tour.
.... Which brings up another suggestion that works for those that don't mind a little extra adventure on their Carnival Cruise shore excursion. Before you book an excursion through the cruise lines, investigate and decide whether it would be easier and more economical to just go without a guide booked through Carnival. We do that often. It saves a lot of time and money in most instances and you are not at the mercy of the tour guide. Make sure that you get an exact price for the taxi ride before you get in the taxi and make it clear to the driver that you want to go there and back in a straight line - no stops for kickbacks. JUST MAKE SURE THAT YOU CAN GET BACK TO THE SHIP IN TIME.