Languages worth learning are the ones that aren't "just another tool". They challenge you to think in completely different ways.
A beginning programmer sees every language as different. An intermediate programmer sees that every language does basically the same thing, and can pick up a new language in a day or so. An advanced programmer comes right back around; they see that languages can be so fundamentally different that you can't really learn them in a day.
Personally, I don't touch flavor-of-the-month technologies. I keep my eye on them, wait a few years, then see what good ideas ended up coming out. I'd probably get paid more if I chased trends, but I also don't have to work with people who chase trends.
"There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.