I also recommend Chankannab in Cozumel........very relaxing, clean, great snorkeling.
We really liked Costa Maya and used it like it was Carnival's "private island". We stayed at the port the whole day; it had everything we needed. From the ship, you can see a beach to the right of the shopping area. This is where we spent the morning, swimming and just hanging out. We rented a couple of chairs for $2 each. There were sodas to buy for $1 or so and, I think, beer. No vendors bothered us. We took some great family pictures on the beach with our ship in the background. Then, we went back to the ship to change and eat lunch (it's great because the ship is right there). After lunch, we went back out to the shopping area where there was also a show going on (music and dancing). There's also a large pool with a swim up bar in this area....mostly for adults though (but kids are allowed......I think they have more fun at the beach). Costa Maya was a very inexpensive, no stress day. Enjoy, whatever you decide to do.