Ummm yeah. The cruise lines book through the local tour companies and charge you a surcharge on top of the asking rate. Case in point: We are doing Stingray city in the Caymans, RCCL wants like $68 or something ridiculous like that. I booked with the exact same tour operator for $34 adult, $20 children. Saved my family a burnch of money. Read through the shore excursions link on this website. All of the posts will tell you which ports you should book through the cruise line and which ports are safe to book on your own & save some money.
Happy Cruising!