I use priceline for my pre and post cruise stays. Saved a ton of money. For our upcoming Mercury cruise, we are staying at the Hyatt Regency downtown... a hop and a skip to the terminal for $51.95 per night.. including room tax and service charge.
Take a look at www.biddingfortravel.com. Read the site thoroughly. CHeck out the listings for hotels which have been awarded at the various ports.
I'll never book directly through the hotels again!!