You cannot compare the Carribean to the Coral Triangle. The more you go west from the Coral Triangle, the less life is found. The Carribean are then the worst in case of life. But it can be still beautifull.
An important question for choosing Cozumel is: do you also want to dive the cenotes? Then this is the place to go. On the mainland, there are nice cenotes.
Do you prefer non-guided dives, then go to Curacao or Bonaire.
Do you hate giving tips, don't go for guided dives to Cozumel.
Do you want to do real dives and not the 45 minutes or shorter ones, don't go to Cozumel.
Do you want to dive overpriced, go to Cozumel. I find 110 to 150 dollar for 2 dives very overpriced, especially when they ask for a tip of 10 dollar per dive or so. In Europe you don't need to tip with such prices and it is cheaper. I know the tipping discusion is controversial, but I live in a non-tipping country and I really hate it if they expect with such high prices a tip. In France you pay 30-32 euro for a dive and no tip needed. Also you don't get a guide if you don't ask for it which makes diving way much more relaxing.
Do you want to see a lot of nudibranches: go to the coral triangle, the Carribean is not a good place for this.
Do you want a short travel, then maybe for you Cozumel is a good place.
I am just 1 week back from Mexico, Tulum area for cave diving. We did not dive with guides. It is a nice country, but you have to be aware of some things.
The ATM does not always give money. 2 times a month it is payday and then they are empty, sometimes 2 days behind each other.
On sundays, you cannot buy alcohol in supermarkets (not a big deal of course).
Most people are really friendly and try to help you if you ask. But sometimes there are things that are not that nice.
This year we drove to Bacalar and got stopped by the police like all rental cars (and the locals did not need to stop). They showed us a picture on the phone of 20km/h and said we drove too fast. But this was for sure impossible as we were in the busy hour and on a road where no more speed was possible, also the sign had none of us seen (3 in the car). We had to pay 1500 pesos. After a discussion in Spanish, we ended with not paying, happely. But they tried. If they really wanted is to pay, I would ask for the proof, the camera that said we drove to fast or the laser. But this was not needed. They looked in our car and there were just towels from swimming in it, nothing that was worthfull.
Last year they tried to rip me off for 1100 dollar at the car rental, we paid in advance with Europcar over a dutch rental site, but they did not want to give us the car if we did not pay 1100 dollar insurance. But the insurance was already paid, we had proof and if you reed the new contract in Spanish, it was really a new contract. So I told them that and after 1.5 hour we got our car without paying for the new contract.
After bringing the car back, they tried to let us pay for scratches we did not make, but I took over 100 pictures before taking the car, so I had proof. Also the person who was there to check the car spoke only Spanish.
On a fuelstation, we could not pay by card. Strange, but they told us after we said 'full please'. They charged us for 43 liter and the counter was showing 0.00 before fuelling. The car had a tank of only 35 liter. As we saw this later, we had already paid around 10 dollar too much. This was last year, this year they had at some fuelstations warningsigns that if you cannot pay by card and the counter is not shown at 0.00, you have to call the owner of the fuel station.
They tried also last year the finger trick with the 50 pesos while you gave them 500 pesos. So always look at hands if you give people money.
We tried to eat most times streetfood or restaurants for locals. This is way much cheaper, the food is good (you don't get ill), and they don't ask for a tip. I know a tip is normal in the US, but here it depends on the restaurant. And if you pay US-prices in a tourist restaurant, I don't give them a tip anymore. The prices are twice or more than in a local restaurant. The locals we tipped, but they did not expect it. The best was a place where they wanted a picture of us as there don't come tourist to eat (was outside Tulum). And we had a great crispy chicken taco. Of course for local places, speaking some spanish makes it easier. There was a streetfood place which was very busy, but on the list were 'ojos, cabeza, etc'. I asked if this was really the foodlist and they said yes, all from the head of the cow. So we decided to walk a little further.
Things that got improved since last year: some cenotes have security cameras.
If you speak a little bit Spanish, this will open doors as a lot of locals don't speak English. We also met a local that only spoke Mayan, and even we did not speak that.
So if you decide to go to Mexico again, it is a nice place, but you have to be aware of some things. But I did not feel unsafe and for sure I want to go again in future. The things that happened with a rental car won't happen if you don't rent a car. But having a car was fur us necessary to get to the cenotes.
Oh, and we flied in our own weights. The divecenter we rented tanks asked 50 cents per kg per day, so it was for us cheaper to fly 5kg in. Maybe check this also first.