Unfortunately people conflate success and merit. Maybe that's not so bad. What's worse is when they often go a step further and assume anything that is not successful by this metric is lousy. Hackers look at other forms of success, though, include things like clarity/expressivity or, perhaps more generally, programmer productivity/happiness.
Java or VB6 are examples where merit is orthogonal to success--- disproportionately so, let's say--- so I'm not sure it's hard to admit, as you suggest. :) It may be hard to accept though! People will choose stuff without thinking much about it because it's the default and popular and therefore it can't be lousy. This might not be so bad if hackers didn't occasionally have to interact with lousy tech chosen by other people...
This is part of why pg's blub programming piece[1] appeals to me so much. Living far outside the mainstream comes with its own perils, but being able to do handily stuff other people can can barely grasp can be a competitive advantage.
"I also disagree that it is not believable that the vast majority of programmers have been boneheaded for 40 years."
http://paulgraham.com/icadmore.html
The "success" of a language is determined by what the language can do, not what programmers manage to do with it.
It is entirely possible there is a language that exists that can do more and do it faster than any other language in existence, but "most programmers", the ones who make a language "popular", either don't know about it or don't want to learn it.
...and the maintainer of the Vim syntax highlighting module for Bourne Shell scripts still refuses to default to POSIX mode, because some OSs still ship with a pre-POSIX /bin/sh. grumble grumble grumble
As a dumb example, if a language fails at its stated goals, then that's not successful. Another dumb example might be a language which tries to incorporate FP patterns but implements lambda syntax or semantics quite poorly.