Thanks for the link above to the Bjarne Strousup site! I think that's the best answer to this question.
But I would also add that for years and years, major projects at places like Microsoft wrote all their code internally in C++. Admittedly, there has been some transition to C# even in places like Microsoft.
There are pros and cons. C++ is the most direct descendant of "down to the wire" programming done for years in C and assembly. It gives you the most control and lets you see what you are doing. The other languages, C#, Java -- and I have absolutely nothing against them -- provide more overhead, and in some situations are safer. They will check array bounds for example.
But as computer speeds increase exponentially and costs of computing shrink, this is why programming systems with high overhead are gradually becoming more popular. But also, as I've pointed out elsewhere, if you learn C++, learning Java and C# should be so much easier, because so much of the core grammar and syntax is the same. Be aware, though, the creation and reference to objects is different in C# and Java, and pointer use is far more restricted.