It is probably a function of how customers search for plane flights. Basically people keep going for the cheapest ticket prices, with little attention to extra charges. I think the same thing goes for service. Most airline passengers are not willing to pay enough to make it worth their while to get better airline service, it might also be that extra cost are too high. Delays could likely be reduced if more spare planes and flight crews served as backup, or if airlines would put you on other airlines if your flight was delayed more than a few hours.
So the result is that airlines are providing less service for the same amount of money (as highlighted in this article). At least Southwest still gives you peanuts.
If you are one of the budget minded travelers, you might want to checkout my friend's blog Nobudgettravel where you can learn to travel Europe and the world on less than a shoe string.