I have traveled both the keys, Tampa, and Miamia-Ft. Lauderdale extensively. What are really your priorities? If you want shallow reefs with lots of fish and big fish go to Key Largo. Yes, there are more fish in Key Largo than Ft. Lauderdale. Why? Because the Key Largo reefs are in a marine preserve which means no fishing, no spearfishing, no lobstering, no anything when it comes to the wildlife, unlike Ft. Lauderdale.
If a hotel with a beach is your priority go to Ft. Lauderdale, you can find some really good rates, although nothing 3 star and above for less than $150-175 per night. Of course, if you're willing to spend that much you can get both in Key Largo, a hotel room on the beach and excellent diving on shallow reefs with more fish than any other dive sites in Florida.