I disagree actually. I think having a specialization (front-end vs. back-end for example) is a good thing. It allows someone to dedicate themselves to one specific area and learn it thoroughly. When I'm doing back-end development, I love having a front-end guy who can make it look pretty - I don't want to have to use time/energy up doing that when I'm concentrating on making a secure, fast, maintainable back-end.
However, there is a limit to this. A back-end guy should still have some idea what goes on front-end and vice-versa. So, the key is to be an expert at what you're best at, but not to be a dummy at what you're not as good at.
[On a side note, I don't see why specialization should create contempt. In my opinion, it should breed appreciation]