It used to be that buying last minute was cheap - now it's expensive. Life has changed immeasurably in the last 50 years and the speed of life and the business cycle has mean that people prize being able to change and move quickly. Sometimes you can get a low cost last minute but all carriers found that holiday traffic in particular was not booking early and waiting till close to date and then picking whatever was cheapest. So we don't have much of that any more!
They want your money earning them interest for as long as possible.