Does not lay within it's technical capabilities and prowess, but with it's management skills and ability to create a community.
For years I've been a fan of ReactOS, actively participating and contributing to the community, albeit not in the form of a coder. Which, in the (still) current ReactOS mentality, is the only thing that counts for the brass, apparently. Testing ReactOS on a dedicated real-life machine (thus, not in VM), debugging, translating, making info-pages on their wikipedia: nothing really matters to the 'elite' of ReactOS. They just consider you some sort of fodder, and the moment you ask for a bit more transparency (on their financial side, for instance), or try to address the complete lack of community involvement, they bork (and bark) at you - and worse. Time and again I've tried to explain this in the past, that a successful project is NOT merely depended on the technical/coder side of things, but also how you establish a community, and try to involve people in your project. There were some half-baked trials at it, but those were mere lipservice, where it was always a consideration of a top-down approach, not a bottom-up way of seeing things.
Ergo; in the 20 years of their project, they have not succeeded in gathering 1/100th of the community that other projects like Linux have. Again and again I've pointed this out to them, but to no avail. They just refuse to see it, and only want things done strictly to their wishes, with their attitude of finding no other (real) importance to the project than 'code'. Which, granted, is an important part, but which will NOT get you a lively, engaging, and growing community - which is an absolute necessity for any open source project to know success. Eventually, since I kept hitting that nail, they got annoyed (not: they realised the error of their ways) and kicked me out too, the so many-th person who was a tester/sponsor/translator/helper of ReactOS they managed to drive away.
Whatever; so I went away, which is what they wanted. But what did it help them, then? Nothing at all. They view constructive criticism as a threat, not as an opportunity to better themselves and the project. They don't value anything someone does outside of their little constraints, and outside their preconceived notions as to what they see as important, yet have the mouth full of 'community-involvement'. Whatever you do, how many years you may have sponsored or helped out as a non-coder, you just are not counted as having done anything worthwhile. They have no inkling of an idea how to get a thriving community where you allow the bottom-up approach as well.
It's a sad thing to say, but the whole thing is run by people with overblown ego's, trying to protect their little turf and egotistical whims, ignoring anyone else, and being autistically elitist in wanting to decide virtually everything to the minute detail. Its only a community-project in name, but not in essence. And that's why, even after 20 years of operation, their project is just a small-scale project who - in comparison with other projects - has almost nothing to show for. They make some small technical progress year after year, that's true, but they fail to realise how much their ego-driven top-down approach has muffled the project to achieve the grandeur and support it could have had, had the top been more prone to some input from the people actually supporting it.
I've poured hundreds of dollars in it, and spend years on it helping them in my own way, only to kicked out when I pointed out their mistakes and lack of transparency. I still lie, the project, but I can not, in good conscience, support (most of) the people running that program/project. they've done it with me, as they've done it with dozens of people: it's no surprise, thus, that they're still at the small scale they are, without any community to speak off. They can't get any traction, because they kill off everything that would get them traction. There are some good coders under them, to be sure, but almost all of them lack the managing skills to actually create a project where people feel engaged in, and want to continue to support. How many people, running, debugging, sponsoring the project didn't they drive away, just as they drove me away? It's painful to see people shoot in their own feet, but that's the way it is. They just don't care.