I'm not sure we can compare a hotel stay to an airline flight.
While cancelling the reservation the day before usage (or arrival) results in an unused room/seat, thus a loss for the company, there is a difference in the hotel/airline's ability to recover those costs.
Hotels can use upgrades to entice filling the loss much easier than an airline. If a more expensive room is canceled at the last minute, they can bump a guest in the cheaper rooms up to open lower cost inventory, thus allowing the opportunity to get last minute walk-ins or a quick notice to a last minute shopper that a cheaper rate is available for tomorrow night.
In contrast, selling the cancelled airline tickets at the $500/seat that they were purchased is difficult to do the night before. Most people don't fly last minute, unless there are extenuating circumstances (job, funeral, etc). As such, most people planning to go to Disney don't wait until the day before leaving to book a flight.
Another aspect is that Hotels are fixed while airlines are dynamic. What I mean is airlines will choose the type of aircraft, departure slots, and routing based on demand for that flight. Thus, the many operating costs for that flight have been estimated based on tickets sold. If they don't get the revenue they anticipated from enough cancellations, then the flight could loose money instead of breaking even or making a profit. If they knew the cancellations would occur in enough time, they may be able to change aircraft to a smaller jet (a 757 to a 737, for instance), thus mitigating some (or all) of the loss. The airline may also change the routing, so a jet from JFK may be a better schedule instead of a jet from Kansas City if there are enough passengers. They can't do this the day before a flight without a lot of effort, which is why weather delays plan havok with the system.
In contrast, a hotel has relatively fixed costs for each night. Mortgage, utilities, taxes, and staff are all relatively stable. Thus, the hotel can make up for last minute deficits on a monthly, quarterly, or annual basis and still remain solvent.
I hope this helps. In summary, the costs for an airline flight are much more dynamic than a hotel. It's much easier to fill empty hotel rooms last minute than it is to fill empty aircraft seats. Because of these variables, airlines need a longer cancellation window than hotels.
Restaurants and park tickets are even easier to fill cancellations the day of use.