Say you were the Dean at a University or better yet a boss of a Fortune 500 company. Would you choose applicants that could do lots of different jobs but all of them slightly average or would you choose an applicant that is really good at his or her job, but can only do that one task. Include any other criteria you would personally have.
Small organizations need jack-of-all trades in order to fill multiple roles. The larger the organization the greater the need for specialists. Fortune 500 companies would for the most part want people with narrow but deep skill sets in needed areas. I think this is a bit of a false dichotomy. Many people with a broad set of skills also have specific areas where they excel.
I think that it depends strongly on what tasks I have in my company. If I need someone who can do one thing very well, very fast and very secure, then I hire the specialist.
If I need someone who can do that job but who must also be able to replace half a dozen of his co-workers in case one of them isn't available, then the universalist is the better choice.