I think Cozumel is so cheap due to competition. There are probably close to 50 dive ops there, so they keep prices low. Most of them only own 1 small 6-pack boat and don't even have a dive shop. They get their tanks from a central distribution fill station on island. A few dive ops have bigger boats, they are mostly associated with hotels. The big ops and the small ones are all about the same price.
There are large resorts and also small B&B's, tiny hotels, etc on Cozumel.
Same goes for restaurants.... so very many little places that they keep prices low to compete. Unfortunately, KFC and McD's have come to Cozumel, uggghh, along with Jimmy Buffet and other big chains. The good thing is that the cruise ship people are usually the ones going to those, the divers stay away.
Cozumel is also a bit bigger island and though the cruise ship industry has caused it to become much busier than it was 10 yrs ago when we first went there, it still has the "island" flair. Very Mexican, very Mayan, as long as you stay away from the cruise shipper places.
Over on the Mainland, Playa del Carmen area, it is different yet. Much more of a European influence with many Germans and Italians living there full time. Lots of big resorts but tons of funky, little hotels that are cheap. Same goes for restuarants as Cozumel. Ditto the diving... lots of little dive shops, prices low.
robin