I just think, that C++ and particularly the whole template system is just to complicated.
I have enough work to do, finding solutions for the real world problems that must be implemented -- I don't want to have more work fiddling around with language specifics and even more trickery, just to have my programs running maybe 1% faster.
C++, particularly the template system and the new standard library that is based on the STL, disappointed me long time ago, when a whole group of programmers where trying to find out what the compiler errors where about deep inside the STL. The whole error handling inside the templates where so muddled, that it was nearly impossible to find out what the trouble was, without reading big parts of the STL source.
I trust, that today's compilers generate better error messages for templates, but still I am not sure that the whole thing -- and particularly the STL -- is worthwhile for most real-life problems.