To be clear, it is entirely possible to be self-taught and learn everything you need to know. I'm self-taught, and I like to think I've filled in most of the gaps by now. I've also worked with a few self-taught people who make me feel like a novice.
However, I've also encountered numerous self-taught people, working in industry on real projects, who have gaps in their knowledge significant enough to cripple a company if left unsupervised. Things like not knowing what SQL injection is, not knowing what version control is, never having heard of unit tests, etc. College curricula in other fields generally make sure that you at least encounter every essential part of the field. Without that safety net, you have to do that research yourself, and many self-taught people don't take that extra step.
EDIT: Judging from the comments I need to clarify. I'm not saying that CS programs in college teach you these things. I'm saying that in other fields, your college curriculum will make sure you encounter everything you need to.