I was reading Seth Godin's Blog and he brought up an interesting point about salaries at top banks/investment companies and law firms before them.
Twenty years ago, financial industry salaries were a tiny fraction of what they are today. Did lesser people do the work? Did they try less hard? Think smaller thoughts? Of course not. The reasons salaries are high is that the number is a signaling mechanism, a very expensive marketing campaign.
While the answer is quite obvious, I think it begs the deeper question how do you break such a cycle? For instance, if company a competes with companies b through z and decides competing on price isn't effective and tries to market itself as 'an innovative, fast-moving, respectful company' instead of the highest paying what does that actually communicate to top tier talent pool? A few might get it, but when it comes down to it, price is really our most basic instinct. How many times has everyone made that mistake of taking a higher paid job that makes them miserable and justified it because of the money? They are recruiting these kids straight out of universities, what does our culture and society value? BLING BLING. I think even if they wanted to without some sort of collusion amongst the top firms there is no way to signal a change in the terms you're competing on. If anyone moves away from the group, it will fail. And that's our current market failure, it's not simply a 'disconnect.'