I agree, it's always a good idea to check rates and conditions on the hotel's own web site, because sometimes the price can be lower if you book directly.
Speaking of booking agents, I generally like Expedia.com for booking airline tickets, but I find their hotel booking annoying, because a lot of the hotels they come up can only be booked with an "Expedia special rate". While these rates are sometimes a bargain, sometimes they are very close to what you would pay if you booked directly, and they always require that you pay for your hotel stay in full, in advance. There is no option to just hold the room with your credit card -- even at a higher rate. Plus, there is always some kind of cancellation penalty, and in some cases, they are not cancelable at all, so you lose all of your money.