1) They had the raw skills, IE: experience, tech knowledge, etc. 2) They had the domain knowledge, IE: they knew what needed to be built and had a complete mental picture of the functionality / features / pitfalls / tradeoffs. 3) People stayed the eff out of their way. Very few if any meetings, limited if any oversight - they were allowed to go into their cave for weeks / months and just get the job done.
I had a moment in my career where I produced a year+ worth of work for a team, by myself, in just a couple of months. I saw other people do similar feats at different points. But, it all came crashing down as soon as someone on high decided we'd better start having meetings, better add some more people to that team, better get more project / product /program managers involved... I'm not saying that a 10x developer should be anti-social or even anti-process, but I will say that overhead kills productivity. Further, I am convinced that any reasonably skilled, experienced developer can become a 10x when put into the right framework to allow them to be productive.