I always get the best hotel deals through hotwire.com. You will not know what hotel it is before you have booked, but you can select rating and area. Sometimes I have been able to compare the area and rating from hotwire to hotels on hotel.com and get a good idea about which hotel it is.
My cruises:
Carnival Fantasy 9/7/06 Nassau/Half Moon Cay, Cabin V26, 4 nights Carnival Inspiration 3/17/07 Grand Cayman/Calica, Cabin R132, 5 nights Sovereign of The Seas 12/21/07 Nassau/Cococay, Cabin 8568, 3 nights Carnival Glory 6/14/08 Cozumel/Belize/Roatan/Freeport, Cabin 6481, 7 nights Carnival Liberty 5/30/09 Ocho Rios/Grand Cayman/Roatan, Cabin 8229, 7 nights Monarch of The Seas 09/21/09 Nassau/Cococay, Cabin 5529, 4 nights Majesty of The Seas 06/14/10 Key West/Nassau/Cococay, Cabin 9506, 4 nights Carnival Legend 10/03/10 Grand Cayman/Cozumel/Roatan/Belize, Cabin 5181, 7 nights Freedom of the Seas 11/28/10 Labadee, Haiti, Cabin 9489, 4 nights Carnival Freedom 08/26/2011 Colon/Cozumel/Limon, Cabin 8425, 8 nights Carnival Sensation 01/15/12 Freeport, Nassau, Cabin E37, 4 nights
If using Priceline, etc choose a 4* in downtown Miami...you'll get a nice hotel close to port. I like the Holiday Inn Downtown Port of Miami. It's a $10 cab ride to the port. Bayside Marketplace is right across the street for shopping/dinner the night before the cruise.