Note:It is possible that the title may not fit the content of the question.

Out of
<a> Participating in coding competitions
<b> Taking up some projects in specific (programming) languages

what do you think makes a better programmer ?

My Opinion:The second one,because programming contests like those on CodeChef have problems that simply rely on algorithms of some sort(if not,otherwise). When taking up some sort of project,I have come across more varations ,I mean a combination of a variety of techniques and not just focusing on input and output sets of the program.

Having said that,I would like to know how other members of the developer/programming fraternity think about it?

what do you think makes a better programmer ?

It depends on the ultimate goal. If the goal is to be a programmer who can win competitions, the answer is clearly a. If the goal is to be a viable programmer in the working world, b is the answer. While you certainly need problem solving and coding skills in both cases, my experience is that competition strategies do not translate well into real world projects and vice versa.

A good programmer is not necessarily someone who spews out a lot of code quickly. Sometimes spewing out code quickly is required (fortunately not often), but over 32 years or so of employment I learned that my job was primarily to solve problems, not to write code. And when code was necessary, it was to write a little of it as possible. And when I wrote that code, it had to be as obvious (as free of tricks) as possible so as to be maintainable.

my job was primarily to solve problems, not to write code

Code is merely a tool. As a consultant my job is to make clients happy by removing obstacles in the way of them getting their jobs done optimally. I just happen to do that with code often because it's a fantastic way of accomplishing that goal. ;)

I agree. Too bad so many users fail to realize that giving them what they want isn't necessarily the same as giving them what they need.

Removing option two out of the question now focuses on option one.
I am not complaining on this one,but almost anything that comes as and idea has already been implemented somewhere by someone(like this one,an Android app to control your PC or vice versa). I recently read an article that discussed the exact topic:running out of ideas.

There,he emphasized that whatever app or s/w is already available might lack some features that you want.The primary goal is to design a similar model with the features you want.

"coding competitions" are the worst places to find good programmers. They're places to find kids who can churn out heavily obfuscated gimmicks quickly, which is not what you want to see in a professional environment.