It's always going to be an issue: breadth of knowledge versus depth of knowledge. While people with above average breadth and depth are wonderful to have, it is a rare commodity (and probably an expensive one to hire
). Of course, if you're trying to be a one-man/woman show doing free-lance web development, you might have to be a "Jack of all trades, master of none." Then again, you might be able to more efficiently create (and get paid for) products by concentrating on what you're especially good at and sub-contracting the not-so-good parts to other people you've established a relationship with. In the latter case, you need to know enough to communicate issues and concerns, but not necessarily enough to find and implement the current "best practice" solution.
Working in more of a team environment (whether corporate or some ad-hoc team) makes it more rational to divide up the projects by areas of expertise, with the project lead perhaps needing some of that jack-of-all-trades quality to coordinate and delegate to the specialists.