If you want to spend time at a beach, I would suggest looking at independent shore excursions. We took one where we did the zip line and then spent the rest of the day at West Bay Beach, which is awesome and has some of the best snorkeling I've ever seen anywhere in the world.
The one major problem with Mahagony Bay is that it often has alot of jelly fish and you can't go in the water. I talked to a local who was born there and has lived on the island for 35 years. He said the locals all laughed when Carnival bought the land around Mahagony Bay because no one else wanted it or wanted to swim there because of all the jelly fish they get on a regular basis. But Carnival got it in order to keep their passengers within the confines of the area so they make more money. Those who have traveled there on a regular basis will use independent tours because then they get to do what they want and spend more time where they want without spending the higher costs of the cruise line's excursions.
Then again, I know others that absolutely love Mahagony Bay and have not encountered the jelly fish, so it depends on what's going on when you're there.
Travel Agent/Cruise Specialist w/13 yrs exp and 48 Cruises on 11 cruise lines! Favorites: Paul Gauguin - Tahiti: Uniworld River Cruises - Europe; Celebrity Solstice-class ships; Holland America - 12-nights Baltics & Russia; RCCL - 14-nights Greek Isles, Turkey, & Croatia; Holland America - 14-day Alaskan cruisetour; 10-night Canada/New England cruise; 21 days Hawaii w/7-night NCL cruise; Oceania - 25 days in Asia; more than 3 months touring Europe by train. And many all-inclusive resorts!