Carnival berths at Carnival's own "Fake Town, Mexico", called Puerta Maya. It's a not-inexpensive cab ride to get into the "real" Cozumel. Why is Fake Town not real? It's merely a village of the same shops as on the ship, with more choices and variety. The proof is no sale of Cuban products, including rum and cigars. If you were really in Mexico, every store would be selling them . . .
Carnival berths at Mahogany Bay, or "Fake Town, Honduras" -- owned by Carnival. Same shops and limited shopping as Cozumel. No Cuban products for sale. It would have cost $10-20 to get from Fake Town to any real town on the island (French Harbor or the West End).