Hotels don't do this and they take cancellations right up until the date you are supposed to check in.
Yes they do. Not all hotels have 24 hour cancellation policies-some have 90 days or even more.
Revenue stream? Yes, indeed, and why not? Say you cancel 6 months out, then the next guy cancels 4 months out, and so on until the last guy cancels a day out. Over the course of the 6 months others have tried to rent the site, but they can't because it's booked, then they can't rent the site because it's too late. If they are lucky they've recouped a night's rental. It's not miserly-it keeps them in business.