C++ has a standard. There are multiple companies implementing this standard. Yes, the GNU stuff is used everywhere, and could just as easily be seen as the WebKit of the C++ compiler world. Why doesn't everyone just use that?
Well, problems in the standard are discovered when there are multiple implementations. The standard becomes stronger. Extensions are made in different implementations, some of which get moved back into the standard, making it stronger. It's beneficial to have multiple implementations and a single standard.
The same is true for web browsers. A single standard is good. A single implementation is not. End of story.
But, it's evident now, you're real argument is about Open Source. Sorry, I don't care to be a part of that debate, as most people have taken sides and are now close minded. I don't take sides in this debate. We need both, and neither is better than the other.