I always book directly with the hotel. If you go through a 3rd party, it's really hard to get any refund if you have to leave mid stay for some reason. It also makes it easier to do things like have them hold the room for a day or so to allow time to book flights.