We love Cozumel and dive there once or twice a year. In fact, we're head there on Friday for an 11 day dive trip. The reef system is beautiful with a variety of terrain that never gets tiresome. We do see nurse sharks and some reef sharks. We nearly always see turtles, big green moray eels, stingrays, beautiful fish, and depending on the time of year...eagle rays. Cozumel has a huge variety of dive shops from which to choose. Many people on ScubaBoard have their favorites. Do you like big boats with lots of people? Do you like small fast boats that carry 6-8 divers? Because you'll be diving in a marine park, a dive master is always in the water with divers from the boat. The current can be very passive or it can be ripping....just depends on the day.
I see you're going to spend time in Miami. You'll be very close to the Florida Keys which has great diving. It's about an hour and a half drive to Key Largo. You can dive shallow reefs, deep reefs, and a variety of wrecks.
Another area you might want to visit is Jupiter, Florida, which is about 85 miles north of Miami. We dive in Jupiter every week since we live close, and we see lots of beautiful fish, different species of eels, huge turtles (our sea turtle nesting season is in full swing in June....Loggerheads, Greens, Leatherbacks all nest in the Jupiter area) Goliath Groupers, and a wide variety of sharks....Tigers, Bulls, Lemons, Blacktip, etc. Our reef system isn't as beautiful as Cozumel's, but we see much bigger marine life in Jupiter than we do in Cozumel. Jupiter is drift diving, and just like in Coz, the current can be calm or ripping. We love diving in Cozumel but are always excited to get home to see the "big stuff!"