I'd like to pose this question in the context of entrepreneurship and freelancing, since we know specialized developers would fit in a corporate system.
As a programmer with an entrepreneur mind, this is something I question while trying to self improve my skills. I consider myself in the category of "jack of all trades" and am currently picking up new areas of development.
I figured a jack of all trades developer would be more appropriate for startups bootstrapping, a really small team, freelancing, and getting version 1 up of a product without much dependency.
As for the specialized coder, with an entrepreneur mind, I see the specialized skills fitting perfectly with a team of other very specialized developers.
I sometimes get that feeling of "spreading myself too thin" when trying to pick up many new languages / frameworks in a short amount of time.
Currently I've picked up Rails for the past year, but have been wondering if its worth honing my front-end skills, or instead, contract it out, etc.