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.