"Significant chunks of .NET are written in C++. The CLR is 100% C++ code. The core of WPF is C++ with a layer of C++/CLI on top. GDI+ is 100% C/C++. Whenever you want to extend Java or Python, you have to do so with C/C++ code. Writing device drivers requires using C/C++. Windows is written in C++.
Clearly, C++ is the weapon of choice to conquer the machine. That is however not a common programming task, a dbase app or UI or something webby is far more common. Using C++ for those tasks is a mistake, you'll get the job done much quicker with a managed language.
The main difference to me is that, with C++, I am free to design and code bottom up, or top down. With the other languages, the API defines the program more than the problem, so I have to do more monkey-wrenching to get work done efficiently. While some of that is ignorance of the various .NET components, I still see a lot of 3rd party activity, like in the heyday of MFC. (If there ever really was, that is....)
Anytime I need to change scope, I can do that easily with C++. It is really quite simple to code your way out of most situations using C++. Adding new interfaces, or gluing dissimilar interfaces is much simpler with C/C++. I also never liked calling my own code "unsafe", either."