If you arrive by cruise ship and are not fond of "follow the leader" tours, here are a few suggestions.
Cabs, car and moped rentals are all available at the pier but if you're willing to walk a few hundred yards outside the terminal and across the street you'll save a couple of dollars.
The sandy beaches are south of town - some charge a $4 to $5 admission fee and others are free - the cab drivers know. All have chairs, umbrellas, food and drink available and some rent out kayaks, sailboats and wave runners.
Snorkeling is usually not good at a sandy beach. If that's what you have in mind you'd be more happy at Chankanaab Park - about 2 miles from the pier - they have an admission fee. If lots of cruise ships are docked, go early or choose another spot - otherwise you'll be overrun by kicking fins.
You can walk about 1/4 mile to El Cid La Ceiba - a timeshare resort. They have palapas, a pool, a bar, a restaurant and dive shop. Sometimes they charge a $6 fee and at other times they just hope you'll spend some money on lunch or drinks.
Entry into the water is via steps - they are slippery from the water but they have ropes to hold on to. There are lots of fish that live here - even a few small barracudas and about 100 feet offshore is a submerged wrecked plane. Pretty neat!!
Another hotel that we like to spend a few hours at is Fiesta Americana. It's toward Chankanaab - Take the first turnoff the highway when you see the Chankanaab sign - It's just before the park. They have a good size waterfront restaurant and swimming pool with a stone deck, a dive shop and a long pier. Snorkeling equipment is available and you can lounge in the sun or under palapas or sea grape bushes on their small man made beach. There is beachside and poolside bar service - the margaritas are good.
If you enter the water at the beach end, the drift will take you past steps or to the pier where you can climb a ladder to exit. Non-snorkelers attract the fish to the pier area with bread from the restaurant - so you're guaranteed to enjoy snorkeling.
My favorite is the InterContinental Hotel just beyond Chankanaab - this is the classiest. A waterfront restaurant, beach, pool, lounge chairs and umbrellas - but they do charge $20 per person if you are not a hotel guest.
Again there is a drift. Enter by the rocks and float on down to the restaurant where you can come up on the beach. If you enter at the beach, you'll tire easily because you'll be fighting the current.
Just watch the clock and make sure that you call a cab in time to make it back to the ship - especially if it's a busy cruise ship day. Enjoy !!