No one has found the true reasons for the fees.
Orbitz, Travelocity, Expedia, Priceline
Customers sort cheapest flight first. They rarely even notice if there is a 22 minute connection, or 4 hour sit. They want cheap. Ten bucks (although you might spend several hundred on the rental car and $50 on your parking spot) is $10.
Airlines know this and they do everything they can to be the cheapest at the top of the sort. That is what sells. Then they try to make the money back on fees.
So, on a trans continental round trip which costs the airline about $660 to provide, the choices are:
US Air / America West $267
Delta $269
United $272
Frontier $280
and each of these carriers hopes that they can recoup the loss through fees, on top of fees. They are "unbundling their services."
I met a lady on a $90 fare that was paying $500 to fly her dog in the cargo compartment. She was F U R I O U S! Of course $500 is silly, so is the $90.
If you notice JetBlue and Southwest don't list on these travel pricing consolidator sites. They also have mostly rejected the concept of cheap fares and make it up with fares that punish the passengers.
But, what are the airlines to do? That's what the customers buy. Based on their spending patterns, the fees are what they PREFER. Go figure.