If you are booking a hotel through an agency, make sure to call the hotel first and ask what the best price for those nights is, that way you'll know if it's cheaper to book directly or through the agency. You can also call again closer to the date as there are sometimes last minute deals that you can take advantage off, just cancel the previous booking and make a new one for the cheaper price.
Try Priceline, too! I've actually gotten some INCREDIBLE last minute deals through them. I once stayed in a historical bed and breakfast in down town San Diego that had an old bank vault in the basement, amazing lobby, full renovated rooms (gigantic rooms for being in the city, too!), etc, etc. I paid 45 bucks for the night I was there....compared to $200 that nearby hotels were quoting me. Priceline just happened to find me an opening and it was amazing.
I honestly never booked a hotel through agency. I usually book a room with the hotel right away or book online with agoda.com to get a much cheaper price. We don't often get a last minute deals with hotels here so agoda.com is definitely the best option especially if we are planning to stay in a bigger hotel.
You probably know about Expedia.com because this site has much good rates of the hotel as compare to others. I have had very good luck with them..