I can't speak to Jamaica, but I've done many, many non-cruise (DCL, MSC, Oceania) excursions and was never even close to missing the ship. I don't think it happens often, in the world of TripAdvisor, etc, as too many "they made me miss the ship" reviews would doom a company. I think you increase your chances of getting back to the ship on time if you 1.) choose a company that has a good reputation - do your research ahead of time,2.) plan on getting back 90 minutes before last call (hard to ensure on a larger group tour, admittedly. We do private tours as we travel as a large family group, so we can say when we want to be back), 3.) be a good tour participant - don't wander off and make the group late, and 4.) be realistic by what is possible in any given port.
That's not exactly what you were asking, but I really don't see many people posting about how a tour company made them miss the boat. I'm pretty sure the folks that miss on their own fault aren't going to post anyways. If you want a larger sample size, ask over on Cruisecritic. Or if you want more BTDT on if your particular excursion is likely to run late. LOTS of cruisers over there.