What happened? C++ started as an extension of C. Almost all legal C code was also working C++ code. While a lot of people wanted C to be stable, all innovations (good or bad) went into C++. This had the effect of freezing C for a long time and made it an outdated language.
Why did it happen? It happened in a cooperative situation. Dennis Ritchie was tired and was happy to send people next door to Bjarne Stroustrup. A lot of people were happy with C++. Programmers and authors were tired of simple C. Compiler vendors needed constant change to sell their updates. Name mangling opened new space for proprietary protection.
Was it good? Probably not. It separated the "stability and simplicity" from the "creativity and complexity" programmers. So both camps had their blind spots by getting incomplete feedback. The results were an "outdated" C and an "over-complex" C++. This could have been avoided by avoiding the split.
Could it have been defended. Yes, probably. If C would have advanced steadily on its own, C++ would have been in a non-autonomic situation. It would have had to follow C or decide to break compatibility. It would have broken C++ (earlier). But no-one was interested in a defense, both languages came from the same house. In fact C99 is now a step that is not intended as a defense, but has the shape of a "defense, too little, too late".
If this is a model for MeatBall versus CommunityWiki, then I would arrive at these conclusions:
How is the situation different (may break the analogy):
As it turns out, the CommunityWiki split was good for Meatball as it created a place for people who were excited about wikis, but not so much about Meatball. -- SunirShah