Cozumel, Roatan, Belize, great snorkeling. Belize, Roatan, and Costa Maya are great for the reef that is second only to the great barrier reef. Cozumel is your best for shopping. Belize is a tender port, so you may want to do your snorkeling there as most snorkeling excursions will pick you up at the ship (at least the ones through the cruise line). Roatan, if the weather is nice and you can get into Mahogany Bay, you can either walk or take the chair lift over to the beach area that Carnival built. It's really nice. If you go to Coxen Hole, the shopping outside the terminal area is better than inside the terminal area. Tabyana Beach is beautiful and there is a botanical garden tour there that is beautiful. Mexico has it's areas of crime, but so far, Cozumel, Costa Maya, Playa de Carmen, Progresso, have remained relatively safe.
If you could let us know what y'all really enjoy doing, we might be better able to help.