Maybe one guy is a goddamn genius when it comes to writing embedded systems code in C, but if you put him to work writing CRUD webapps in Ruby, he might just be average. Or vice versa. Or maybe one gal is shit-hot at writing statistical analysis code for dealing with scientific data, but is useless if recast into a role doing embedded systems in C. Who knows?
To use an analogy, imagine this... you have a group of football players. You take the one who's best suited for playing Left Tackle and ask him to play Tailback. And maybe you move the Quarterback to Fullback. In either case, they are going to fail miserably, even if they would otherwise be an All-Pro at their "natural" position, simply because the attributes required to be great can't be generalized to a generic "Football Player" requirement.
In other words "Fit Matters." I posit that it matters a LOT more than most people acknowledge, or certainly more than you hear anybody discussing. And let's not even get into the importance of chemistry and the "gel" factor among the members of a team. It isn't popular to talk about these factors; probably because they're hard to measure / validate empirically and so this all remains a mostly subjective thing. But I believe this discussion is just as important as - if not more important than - all the debate about "10x programmers."