No programming language is perfect, so whatever you end up using, you'll eventually be disappointed (unless your goals are exceptionally modest). Knowing many languages and analysing the problems you intend to solve allows you as a programmer to choose the best language for the job, like a craftsman choosing the most appropriate tool from his toolbox.
The thing is, many programmers develop a kind of emotional attachment to their primary language, mostly because it's the only one they use day to day. I think this, like other software loyalty, is in some cases a form of Stockholm Syndrome, or sympathy for your captor. You know it's not perfect, and you know it's not the only language, but you'll defend it because you need it.
Mokalus of Borg
PS - The solution is to learn more languages.
PPS - And the best way to learn is by using them.