Ship-sponsored excursions are the same ones that the 3rd parties offer, but the ship charges a premium. On the upside, they guarantee the ship will not leave without you if your excursion returns late to the port.
This doesn’t happen a lot, because when people miss ship’s departure it’s frequently because they lost track of time shopping in the port.
Third-party excursion booking sites like Viator offer the same tours the cruise line offers for a lower cost.
These tour bookings customarily they offer a guaranteed return time so you won’t miss the ship’s departure, and guarantee airfare to the next port so you can rejoin the ship if they are responsible for your tardiness.
Sometimes you can book directly with the tour operator, like I did in San Juan, PR with Flavors of San Juan food tour. (Use promo code CARMEN for a 10% discount). They also have tours in St. Thomas and St. Maartin.
If you want to save big, skip the ship-sponsored excursion trips, as well as the 3rd party groups.
Research each port you’re going to and make a list of things you want to see, do or eat. Find out what that place is best known for. Share a taxi or rental car, hop on a city bus, or simply walk and explore.
You can even buy gear for a fraction of the rental price, such as a snorkel set for $30 on Amazon instead of paying $100 per person for a snorkel excursion.