1. Little Cayman
2. Cayman Brac
3. Cozumel
4. Roatan
I'm just going to rank four, because I haven't been to a couple of the top spots yet (notably Bonaire and Turks and Caicos). Little Cayman is nothing short of awesome, but you better be ready for a dive vacation that doesn't involve much else, because there is really nothing else to do. For me, the diving is enough, but that doesn't work for everybody. Cayman Brac is almost as good, with a little more to do. Cozumel is amazing, but on many dives, particularly the walls, you do not see the large schools of fish. There is a great variety of marine life and good numbers, but you just don't tend to see the large schools. Roatan is very good, but not quite up there with the other three.
You asked about the Riviera Maya and Costa Maya. There are large schools of fish there and the diving is better than many people give it credit for, but it's not one of the top spots in the Caribbean.
If you don't need large animals and 100 ft.+ visibility, St. Lucia could be a good choice. Large schools of fish, particularly Creole Wrasse, and a great variety of sponges, corals, and small fish and critters. Vis tends to top out at 60-80ft. As a volcanic island with rivers, it just can't match the vis at Cayman or Cozumel. St. Lucia tends to be better known to sailors and more recently, cruisers and all-inclusive resort fans, but the diving is really very good, particularly for the sponges, corals, and macro life. It can be expensive, though. We stayed at Anse Chastenet, which is a very cool resort and has the best diving nearby. One of the best dives is the shore dive on Anse Chastenet Reef.