For the later: An important driver in clang are Apple and BSD communities who don't want to have GNU software (especially GPLv3) in their systems.
Also parts of gcc's architecture are created for political reasons to make it harder to decouple, while clang's primary design was to build a library which understands C/C++ and also can be used as a compiler.
The purely technical arguments (i.e. gcc has bad diagnostics and clang gives better errors) are minor (gcc, due to the competition, became way better, if equal time would have gone to gcc instead of clang it might be even better)
All that said: I really love this cooperative competition which benefits everybody, where you have different options try out ideas and where for large parts contributors discuss ideas between competing solutions.