A:
Modular design. You can change everything, modify to make your own compiler and even include on a proprietary project if you want(license much more permissive than GPL)).
It lets you interpret C and C++, if you want.
It lets you compile in C, C++ to bytecode like java if you want, native code if you want too.
It can compile JIT fast things like OpenCL or javascript.
D: It is huge for a compiler. I believe gigabytes or so.