Most American hotels ask guests to leave by late morning and will not admit new ones until mid-afternoon. That window is a labor scheduling problem rather than an arbitrary rule.
The gap is housekeeping throughput
A departure room takes considerably longer to clean than a stayover room, because linens change, the bathroom is reset and the room is inspected before release.
A housekeeper works through an assigned list of rooms in sequence. The number of rooms one person can complete in a shift is the constraint the whole schedule is built around.
Multiply that by a property emptying and refilling on the same day, and the four or five hours between the two times is roughly what the math requires.
Occupancy determines how tight it gets
On a night when a hotel is half full, plenty of clean rooms sit ready and early arrivals are easy to accommodate without disturbing anything.
When the property sold out the previous night and expects to sell out again, essentially every room must be turned. There is no inventory of already-clean rooms to draw on.
That is why the same front desk can be generous one Tuesday and inflexible the next. The answer depends on the previous night's occupancy more than on the guest asking.
Staffing is scheduled days ahead
Housekeeping schedules are usually built from a forecast made well before arrival. Managers project departures and assign staff accordingly.
If the forecast is wrong, or if people call out, the room count per housekeeper rises. Rooms then finish later than planned, and check-in backs up in the lobby.
Adding staff on the day is rarely possible in the way it might be in a restaurant, because the work requires training, keys and access authorization.
Room types are not interchangeable
A guest holding a reservation for a specific configuration cannot be given whatever room happens to be clean first. Beds, accessibility features and connecting doors all differ.
So a hotel can have clean rooms available and still be unable to check a particular guest in. Availability is per category, not a single pooled number.
Front desk staff work through this constantly, holding a room for someone still traveling while another guest stands at the counter asking for anything at all.
Early arrival is triage, not a policy
Loyalty status, room type and how the night is trending all feed the decision. A front desk agent is deciding whether releasing a room now creates a problem later.
Bag storage exists precisely because the answer is often no. The hotel would rather hold luggage than commit a room it may need for a different reservation.
Which explains the inconsistency travelers notice. The same request gets different answers because it is being weighed against a different set of arrivals each time.