Via Frank Patrick, a good piece on how improving employee/management relations can make a big difference. I don't fly as much as I used to, but I still get in the air about once a month. I've varied my travel between USAirways, American (and of late, United). Over time, I've been driven more by frequent flyer miles than by other factors - I still have over 300,000 miles built up on USAirways. I've flown United a few times recently, simply because I can now apply those miles over to USAirways.
I can tell you that there is a difference in the experience between the major airlines. United seems to be the worst of the three I deal with. The employees don't look happy, and that translates down to how they treat customers. I haven't experienced anything awful; it's just the difference between employees that seem to care, and employees that don't.
The article Frank pointed to explains that American started listening to their employees, and that it's led to profits. It's also led to a more pleasant experience in the air. I can't quite put my finger on it, but I always feel like the American Airlines staff are more professional and more courteous. That encourages me to come back - and at this point, I really don't have to for mileage reasons. Once I crossed the million mile (lifetime) mark on AA, they gave me permanent gold status. What does that mean? It means that I can always use the Gold/First class lines, and board right after the "people who need help" call. That's more pleasant, but I don't need more miles to keep that status - short of some major reorganization of their program, I've got that status for life.
Read the CS Monitor article - it's a good example of how you get back the sort of behavior you ask for, one way or the other.