Costa Maya was okay. We didn't leave the port just did some trinket shopping. We found the shops to be over priced and not willing to budge. We'd go again, but would probably not book a cruise just for this purpose.
We love Cozumel. Our favorite port, by far. Always clean, always beautiful. We took a taxi to Paradise Beach, a public beach - it was beautiful and cheap. Shops are always fun in Cozumel, they are a haggling island for sure!