Your response is a bit puzzling to me, as I made it clear repeatedly that I was not comparing C and C++ in a vaccum. Rather I was comparing C++ as a possible replacement for C. That implies that we are comparing C++ for applications where C excels.
Nobody is building web servers with C. The point here is to take into account the areas where C is widely used today. That could be things like kernels and libraries used by other languages. E.g. look at stuff like OpenSSL.
In some areas where C used to dominate, such as game developed, C++ has largely replaced it. GUI development also used to be done with C, such as Win32, Xlib etc before various C++ libraries like MFC, Qt etc began replacing it.
Languages are not completely orthogonal to each other in usage areas. Even if they have different areas they are strong in, there is usually considerable overlap with other languages.
Not sure why you dispute the complexity of C++ and difficulty in learning it. This is aknowledged even among most C++ fans. You cannot compare programming langauges to natural langauges, as natural langauges contain pretty much the same level of complexity and capability.
With programming langauges there is quite a wide variation in complexity and features. C++ is objectively far more complex and require more to learn than C, because almost every feature in C, exists in C++.
Discounting complexity and ease of learning as an actual thing, means you reject a key design decision language designers have to make. Features are always attractive to add to a langauge, but a good language designer has to take complexity into account and how this will affect the ability learn and use his/her language.
C++ designers have chosen other metrics than ease of use and learning to optimize for. E.g. they chose backwards compatibility with C as well as earlier version of C++ as a high priority. That increases complexity and makes the language harder to learn for beginners. The tradeoff is that it makes it easier for existing C++ developers to simply upgrade their skills rather than learn a new language. It also means they can use their existing code.
It is a reasonable choice for a while, but eventually you paint yourself into a corner. By catering to existing developers and making them happy, you are increasingly pushing away potentially new developers who get an every increasing pile of complexity to deal with.