I"ll be on a 2 week cruise starting this Sunday and will be going to Belize, Cozumel and Roatan Honduras. Also Grand Caymen which I hear has great snorkel/scuba too. If you're not in a rush to know, I'll let you know when I get back.
I went to all of them. Belize was alright but Roatan was the best of all of them. Saw plenty of queen angel fish. . But Roatan not a develop place and not one of your safest place to walk around. People living in huts and children begging at port. For looking at fish Roatan. But had good time at Belize too. Other two more for scuba diving.
I went on a similar cruise a few years ago. I went snorkeling in Grand cayman. And in Roatan.
Roatan was by far the best. I started at a private beach and swam out into the ocean. The coral mounds were astounding!
In grand cayman the boat took us out and we dove in and didn't see much. Just a lot of stingrays.
Careful with Belize. They have a gorgeous port. But once you leave it it's a lot of poverty and begging. There's a market right outside where the shop owners really hustle you to buy from them. It's a bit uncomfortable.
Long story short. Roatanis where it's at!
I really enjoyed cozumel. Took a boat ride from cancun while doing the swimming with the dolphins thing. Rode around on a moped and shopped for a while when I was in cozumel before going back on the boat. I can't swim so I was on the boat but I could see in the water more than I thought. Probably doesn't help you out much but I felt I would share my experience
Grand Cayman is a great place to snorkel. I really liked St. John's as well but more because of the sea turtles. There must have been over 50 of them near this small island and the locals said they stay there until around three years of age and then head out. I will be going to St. kitts in April. I'm hoping their reef will be nice.