Let's say that the hotel has a check out time of 11:00 a.m., and a check in time of 2:00 p.m. Then I would divide the day into three time zones.
Before 11:00 a.m.
From 11:00 a.m. to 2:00 p.m.
After 2:00 p.m.
If you check in after 2:00 p.m., it's clearly ok. As a practical matter, if you check in at 1:30 or 1:45 p.m., there shouldn't be a problem.
If you check in before 11:00 a.m., there could be a problem. A room might be available only if someone has checked out early AND the hotel had time to clean it. If there are a lot of people checking out around 11:00, it might take until 11:30 before the first batch of rooms is cleaned.
So that leaves a "window" between 11:30 and 1:30. Within this window, the later you check in, the better. There could be a large difference between 11:30 and 12:30, and by 1:30, there might not be a problem at all, as discussed above.
There is an alternate scenario. Some hotels will allow a "partial" check in. That is, you can register as a guest and stow your luggage with the hotel at say, 11:15, go to lunch, or whatever, and be assigned a room when you come back between 1:00 and 2:00.
And finally, if the hotel is "not busy" and has some empty rooms, you may be able to arrive at 10:30 and get a room.
It's true that an expensive hotel probably has a larger cleaning staff and more rooms available at 11:30 than a small one.
On the other hand, it doesn't hurt to ask politely at any hotel, and find out what the hotel can do for you at any given time.