From my experience I think the issue stems for looking at management as the next rung on a ladder. A good developer might never gain or want the experience needed to make her a good manager. A manager might never learn what it takes to be a developer. But the idea of moving up to management ignores the real issue.
Management relates to handling people and handling projects. If you can't deal with people enough to understand how they fit into your project you manage poorly. If you can't manage a project well enough to use the people you have, then you manage poorly.
The skills to manage, and the skills to be a developer/engineer/designer/widgeteer seem, to me, orthogonal. I could write code for ten more years and never learn a thing about management.
The best run tech project I ever worked on involved a PM who could still remember the Great Depression. She had the ability to ask the right questions and had a clear picture of how to move the project forward. The worst managed projects came from the PM who used to code.