I use Booking.com They are almost always the cheapest, and what I like the best is that your credit card isn't charged until you arrive at the hotel. Also, you can make a booking and hold the room until 24 hours before normally, without being committed, you can just cancel if your plans change.
Many times I know I will have long weekends in advance, and I will book at a couple different places. I can have a reservation at the beach two months in advance when the prices are low, and also have a reservation at the same time in a nearby city. If the forecast calls for rain on the day I planned for the beach, I cancel that reservation and go to the city instead. I save a bunch of money this way because I can get the best rooms at much lower prices.
Booking.com also has more hotels , B&B and hostels than any website I have ever visited. They also have guest reviews which are very helpful. Many guests will post about nearby construction noise or renovations currently going on in the hotels. The also will mention details about the restaurants close by.
My second favorite is Expedia. Sometimes it is cheaper, and last year I booked enough days to qualify for their premier membership. They sent me a lot of discounts in my email as a result and that saved me a couple hundred dollars. I won't use them for business travel anymore though. I booked through them on a trip to Prague. My work ended one day early and it took two months to get my money back for the last day of the trip.
TripAdvisor.com is also a good website. There are a lot of guest reviews there as well. The internet is a great tool for making travel plans. Do your research on these three websites and you are sure to get a great room at a great price.
For airline tickets Expedia and Kayak.com are my choices.