||Many recruiters match candidate to jobs by keyword. Sadly it's an easy way to do it.
Well put, and that's so true. I couldn't agree with you more. I just recently switched jobs and fortunately my new employer was more interested in my aptitude and attitude than the fact that I'd done more C# than VB.net (this job is mostly VB.net at the moment). But to your point, a lot of employers won't even let you in the door for an interview if you haven't programmed in x, y and z. That's a real shame in my opinion because if someone's really good they'll pick up the other languages/skills in no time.
I think one area where this problem is really persistent is if you're trying to get a job doing J2EE (or I guess J5EE is the current term now). It's not enough to just know JAVA, JSP, and Servlets. You have to know Struts, EJB, MVC, Hibernate, and a lot of other technologies before you can even get in the door. I ran into this myself when trying to break into the J2EE career path. While I can't speak for everyone (i.e. Kawigi got a job based on his problem-solving skills), not having the right buzzwords on my resume has definitely been a roadblock for me.
I think the other thing to consider is what technologies are in the greatest demand where you live. In my area, there are about 8-10 .Net jobs to every 1 JAVA job. I know a lot of folks are religious about the technology/language they use and refuse to use anything else. For me though, the most important thing is being able to provide for my family and put food on the table. It sort of changes your perspective a bit. Don't get me wrong, I'm very interested in the latest languages and technologies, but at the end of the day you've gotta eat, and that means you have to pay attention to staying marketable with your skills. At the same time, you have to be passionate about your work so you have to find a technology that you enjoy working with. It can be a challenge.