If you go to Cozumel go to Ponchos Backyard for Margaritas and a great snack. We have gone every time and it never lets us down!
Prices for Alcohol, goods, etc. are almost always the best at this port as well. The competition is fierce in Cozumel for all the excursions, goods, etc. so it is hard to choose what to do and you likely will never be let down.
Roatan has two ports. Mahogany Bay and 'the other one'. We have been to the other one, which is smaller, 2 times and it is ok. Mahogany Bay is pure paradise. Probably the most beautiful place I have ever been to. You can take a air lift chair to the beach for 12 bucks per person or walk... I suggest walking. There is a nature trail that isn't hard to navigate even in flip flops and is stunning the whole way with many places to sit. It is only a 15-20 minute stroll even with the nature trail.
The beach, water, etc. are all just straight out of a Corona Commercial. EXCEPT. There are 7000 people on the beach with room for 3000. It is PACKED. If I had known I would have booked a private cabana. Even if the cabana is a couple hundred bucks... worth it. It took us 30 minutes to secure 2 beach chairs. The people next to us 'sold' their chairs to a family for 40 bucks. It is literally so packed people were buying free beach chairs off of other cruisers!
This is another price fixed port. Beers will run you 4.75 each as an example.
This is a price fixed turd of a port. You want a beer in Cozumel, which is just a short distance from Costa Maya, you are talking a dollar or maybe two dollars. In Costa Maya that beer will run you 6 bucks plus 18 percent tax. There is a pool with a swim up bar... the pool is all tile and the tiles are all falling off. The water is freezing. All the shops are price fixed with the exception of a few local style places selling T shirts and other trinkets.
In Costa Maya either take an overpriced excursion or better yet... stay on the ship and enjoy the peace. We went back early and had the pool and slides to pretty much ourselves.
Getting off the ship is a cluster if you didn't take a shore excursion. We waited in the designated room and got a number. We were told 15 minutes and it took 35, then they announced general boarding (i.e. anyone can go) so we ended up fighting for a place on the boat with everyone who was just hanging around.
We have been to this port a few times... worth taking the tender in for a nice boat ride. Grab a couple of beers and walk around the shops and take the tender back. Nothing special really there unless you do a tour.