I am not cruising until November, but i found a tour on Mahogany Bay (Isla Rotan) by Victor Bodden, he has great reviews on Trip Advisor. I booked outside of Carnival Cruise. I didn't find anything that I liked through Carnival for a decent price and Victor has me covered for less than what I would have spent through the cruise. I should add, I have booked through the cruise line for my additional tours at our other stops.
I have in the past been to both Costa Maya and Cozumel on Princess, I did book through them for my excursions. Cozumel I booked the beach break with the drinks, was reasonable, the beach was nice and had palapas (sp) for shade, food and unlimited drinks. In Costa Maya I did a chocolate tour and sight seeing, again booked through the cruise line and it was actually pretty nice.
Hope this helps and enjoy your cruise.