Salon's "Ask the Pilot" guy explains why flights are getting later and later - it's a traffic jam:
Carriers have created this mess through a self-defeating insistence that frequency of flights is the ultimate key to success. Over the past several years, they have portioned capacity onto smaller and smaller planes making more and more departures. The results of this strategy can be seen on any afternoon at airports such as JFK, Newark, LaGuardia and Washington National, where small regional jets (RJs) account for up to half of all takeoffs and landings. It is not the total volume of passengers slowing things down, it's the inefficient way they are divvied up. In some places, 50 percent of the traffic is carrying a quarter of the people.
It's a good article that explains the problem (and why solutions are probably unlikely) pretty well. Air travel has always required patience; it's probably not going to get better anytime soon.