Some people on a catamaran tour we'd booked through the ship were staying on St. Thomas and I asked if they would not mind telling me what the tour cost them. Their cost was the same as ours. I think you can always find a lower price if you shop around on shore and you can probably have a nice experience. We've done both, booking tours we really wanted to take and simply winging it with a cab on shore. We've never been left behind, but we did see two passengers who were! We watched with interest as they were brought out to the underway ship in a small boat and then climbed a rope-laced rigging up to the entry portal! Yikes! I never heard the exact story, but many rumors spread through the ship. They were ferried out for free. They were charged a huge sum. They were put off at the next port. I do know for sure how they got back on board, because I saw it happen.
Here for what it is worth is my advice. If you really want the tour, book it in advance. Saves disappointment and stress. Booking through the ship gives you some leverage for complaints and problems, but I would not blithely assume that "everything is taken care of" just because you booked through the ship. As with any purchase, choose carefully, keep receipts, make complaints promptly and respectfully, and don't expect to be given a free cruise because of a problem with a tour.
If you go on your own--act responsibly Make sure your watch is set to the right time. Give yourself more than enough time to return shipside. Cars break down, accidents happen. Even in the islands there are traffic jams. (Just try the five mile taxi ride from downtown St. Thomas. On some days, you could probably walk it faster.)
Finally, if a tour you want is sold out, check back with the tour office. Plans change. People tire out or change their minds. The tour office may be able to add another excursion based on demand. You might must get the tour you wanted after all.