At Grand Cayman Island, we snorkeled around the USS Kittiwake and another reef with the same tour guide as part of our excursion. Although we loved our excursion, we wished it had left earlier so that we could have gone to one of the beaches afterward. We couldn't plan much else around the island because of that.
In Key West, we took our own tour around the island with out going through the cruise line. I recommend the Conch Train Tour; there are several "trains" that drive through out the neighborhoods of Key West which and make 4 stops. You can hop off and get back on later when the next train arrives to continue your tour. The drivers were very knowledgable of the island and its history.
In Ochos Rios, Jamaica, we chose only to go to a beach excursion instead of doing Dunn's Falls due to time again. Although there were excursions that offered both the Falls and a beach in one trip, some of the fellow cruise members we spoke to afterwards said they were only at the beach for a little over an hour and didn't have time to relax. I think this is partly due to the short port of call Carnival had at Jamaica. Another issue is that even though you may have left early to arrive for your excursion, the locals that take you out are on a different mental schedule. We left 20 minutes late for our excursion for reasons unknown or explained to us.