I find googling "port name shore excursions" comes back with lots of info. For the most part, you will do better on your own. Certain ones, like the Atlantis Submarine in Cozumel are actually a touch better deal through Carnival.
Check out
www.toursplaza.com for Cozumel, and
www.boddentours.com www.therisroatantours.com or
www.roatanchristophertours.com for Roatan for personalized tours if you don't want to be in a large group or driving yourself.
In Belize, where you have a 30 minute or so tender ride into port, some of the Carnival tours benefit by being picked up right at the ship, where the private ones, you have to factor in that tender trip. Grand Cayman also has a tender, while Coz and Roatan are docked. In Cozumel, many people like to head over to the mainland to see the Mayan Ruins at Tulum. If you want to do that, I strongly suggest just sucking up the cost of the ship tour. The ferry ride is about 13 miles and Tulum is another 30-45 minute over the road from there. I wouldn't want to remove myself from the ship by that much on my own.