Advanced pre-pay rates is a form of price discrimination. If advance rates are cheap and cancellable, a business traveler who isn't sure when he'd going might make a bunch of reservations and cancel the ones he doesn't need (or rebook if the rate drops).
I'm in the process (at another chain) of rebooking a stay at a lower rate, because I can and it's my money.