Marcus Buckingham is right. Conventional career paths in organizations need to be reviewed and changed so that people can play more to their strengths. As it stands now, most people are promoted to their level of incompetence (See Peter Principle), a principle that we seem to have accepted even though we can actually change it if we want to.
In one of the IT companies we've done consulting work for, we designed the career paths to give people two options. They can either take the path towards leadership or the one that will keep them doing the things they love doing, grow in it professionally and financially without having to be promoted to a managerial role. This way, some of our engineers do not have to take up leadership positions when they are not made for it just to get more compensation. We also don't have to lose great players and then gain ourselves lousy leaders.
It probably is unfair to say that this is applicable to all but to those where this is possible, the process isn't that complicated. The first step is to create two career paths where one leads to managerial roles while the other one keeps the person doing what he does best and rewards him or her for doing better. The next step is to design your salary structure to support the two-track career path. This can be done by designing broad ranged salary levels with wide overlaps. This way, people can receive salaries as high as their bosses', maybe even higher for as long as they are able to demonstrate improved performance competence in the work that they are doing. The third is create a mechanism for assessing whether people are going to be more successful keeping their old roles or moving up to leadership roles. Lastly, design your incentive and benefit scheme to help people who are better off keeping their old jobs be motivated to stay in that job rather than aspire for a bigger role where they will likely suck. One of the potential problems of this model is the thought that it will become internally inequitable due to people's conventional idea that managers should be paid more than their subordinates. This is where communication is very important. Management should be able to explain clearly why this action is being taken. Also, performance standards must be made clear so that people are aware of what is expected of them.
Personally, I believe that people who are meant to become leaders whether or not the company embraces the conventional approach to career pathing. Nothing can stop those who have what it takes to lead to actualize. It is their destiny. Those who are better off and more productive by being kick-ass programmers, sales pros or service professionals should be given enough incentive to do what they do best.