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.
47 Cruises & Counting! Favorites: Paul Gauguin to Tahiti: Uniworld River Cruises in Europe; any of the Celebrity Solstice-class ships; Holland America for 12-nights in the Baltics & Russia; RCCL for 14-night Greek Isles, Turkey, & Croatia; Holland America for 14-day Alaska cruisetour; 10-night Canada/New England cruise; 21 days in Hawaii including a 7-night NCL cruise; Oceania for 25 days in Asia; & 3 months touring Europe by train. And many days spent in all-inclusive resorts!