SculleatR,
firstly, you can't believe what companies are saying about their products... What would you think about a company saying: our compiler is crap, it's slow, outdated but if you still want to use it, it costs 3000€ thx
As for the free compiler argument, it only prove your lack of informations... BCB++ was fast a few years ago but now, it's very outdated. On the other hand it's still very fast to compile a binary. For example you can compile something in 5 seconds while you need more than one minute in all the others compilers. The drawback is that the compiled binary will be far slower. But for companies it can still be good to be able to compile things fast (anyone who has already compiled kde on linux would agree that it's surely easier to program such big software if you have a fast compiler : even if the result has poor performances, it's still cool to test things quickly). Borland has played much on these numbers in the past to hide the poor performances of their compiler.
Now why gcc (or g++ it's the same thing) can be so good and still being free ? For many reasons. Firstly, it has always been updated regularly since many years. Secondly, it's supported by hardware and software companies. For example a company develop a new processor or develop hardware that use a specific processor. They want to have a compiler for their hardware that doesn't cost too much. Rather than creating a new one from scratch, they take gcc and they add the new things they need. Gcc license require them to give their changes back to the community. That's how gcc evolve. Then companies oftenly give money to support devloppement of these compilers because they are interested in the performances of this compiler. One of the best example is AMD. They are supporting gcc because they want to have x86-64 support in it. And they are also giving money to gcc main team to support them, because they also need non processor specifics optimizations to be improved.