We were there last month (unscheduled due to an itinerary change). On arrival it just looks like jungle and a bit scary but we actually had a fab time. There's a modern purpose built shopping complex just as you get off the ship. It has all the usual Mexican fare and is just like Cozumel but on a much smaller scale. As it is such a tiny place they seem more keen to barter there than anywhere we've been before. My $85 dollar dress ended up $30 dollars....thought I was probably still ripped off! There's also a swimming pool and bar there.
We took a taxi for $3 dollars along to the main beach at Mahjuhal. Its very 'rustic'. There's one street lined with vendors and the beach is right there. There are bar 'tents' along the beach and the Pina Coladas are the best I've tasted and cheap. The sand is lovely and the water turqoise and you can get some great photos of the ship sitting in the turqoise waters (like the ones you've probably seen on the message boards for the private islands that you thought you were going to miss). As it is so 'rustic' and uncommercialised there's not a lot of facilities but we found a palm tree next to a masseuse and had a lovely afternoon. As there is only a long thin strip of beach, it means you are really close to the water so if you are with friends you can all go in the water together and still be close to your things. Take advantage of the masseuses. It's absolute heaven. It costs $20 for half an hour and worth every penny and more. She massaged my whole body including fingers, toes, earlobes and head. No need for fancy music, your head is facing the water with the waves lapping up. It';s heaven and was far better value than my $115 spa treatment on board the ship.