Although I've never fully drunk the C++ cool-aid (which, back many years ago, may have been the reason I wasn't hired in Taligent, despite interviewing there... they HAD drunk said cool-aid;-), I have a pretty good command of the language and a grudging respect for it (partly nurtured through personal friendship with excellent C++ gurus like Matt Austern).
These days, my motto is "Python where I can, C++ where I must" -- and I've been pretty happy applying it for most of my programming (with occasional jaunts downwards into C or very occasionally assembly, midways into D, ObjC, Java, or C#, and up into [e.g.] bash, Haskell, Erlang, Boo, Scheme, Javascript, Scala, ... -- all of those are occasional adventures, C++ and Python, when all is said and done, are my daily bread and butter [and most of the jam too;-)]).
C++ is incredibly complicated and best applied as a subset through rigorous guidelines (these days I'm most familiar with google's, of course;-). But if proper discipline is observed C++ still has a lot to give you -- one of the best implementations of generic programming in a mainstream mostly-statically-typed language, good optimizers, high motivation to deal with "ownership issues" (for allocation/freeing) that garbage collected languages (almost all others;-) tend to push under the carpet (to occasional grief when resources aren't JUST easily-GC'd memory, ...).
For a soundbyte, you could say that C++ is the worst of all languages, except all the other languages which have been tried from time to time...;-)
Edit: just found a post from today (on a stockmarket-blogs aggregator site, of all places!-) which does an interesting job showing some economic consequences of choosing C++ vs Java for "deep server-side system infrastructure" projects -- it also has interesting links to similar analysis done by the Hypertable folks and others. Recommended reading for anybody who's sharing the doubts expressed in this question (though it would also help to see links about the costs -- in terms of programmer productivity, maintenance, time to market, etc -- of choosing C++ vs a higher-level language [esp. a garbage collected one like Java and most other modern languages], such comparisons are often hard to come by).