Costa Maya is definitely 3rd world and if there is a nice part of town we missed it. Took the $2 per person taxi to town and ended up getting a nice massage by locals on the beach for $20. There were many people desperately trying to sell you their stuff as you walked by.
Santo Tomas, Guatemala has a building at the pier with cheap internet and souvenirs. We booked a great river tour at this building for $45 per person with operator Mar & Sol. Our guide Jessica was outstanding. At one point in the tour Mayan children in their child size canoes came to meet our boat with colorful parrots and other stuff. Only port WITHOUT a Diamonds International right at pier (nice change).
For Cozumel, we booked a tour on the ship to the Mayan Ruins at Tulum. This tour took up all our time in port. It started with a ferry ride to Playa del Carmen, followed with a bus ride to Tulum. This is a culturally based tour with a chance to swim in the ocean.