IME, ANY shore excursion offered by the cruise company can be had for MUCH less money than the the cruise company will charge you.
By booking the cruise-sponsored tour, you are paying extra for two things, in my mind. 1) Convenience and 2) A guarantee that if any delays occur with the tour operator which causes you to be late getting back to the ship, the ship will not depart without you.
Whether these two things are worth the extra cost, that is your call.