Hotels know best
You should always book a hotel room directly from a hotel. You can work with sites like Expedia, but they earn a commission from each room they sell. Plus, they might sell you a room that’s already booked on the dates you wanted, meaning that you’ll be left stranded and shivering in some rundown motel somewhere.
Nobody knows what’s going on in a hotel more than an actual hotel employee. They’ll tell you whether the hotel is packed to the brim or not instead of selling you a room that doesn’t exist. Expedia and other similar sites can be helpful at times, but they can also be snakes looking to make money off of your misfortune.