PG talked about this in his essay "Hackers & Painters":
http://www.paulgraham.com/hp.htmlThe general idea is that for the most part, programming and hacking are nothing like a science. They are much more like painting, etc. You learn by doing.
4 years of school isn't going to impart upon you the magical ability to paint a masterpiece, just as it isn't going to teach you to be a good coder. You might get the fundamentals out of it necessary to make it easier to do either, but that's about it.
It entirely depends upon your approach, but my experience has been that the best programmers I've worked with don't have compsci degrees. They are self taught - they learned by doing, acquired gobs of hands on experience, brain dumps from smarter peers and sucked up content online and in books.
And going toe to toe against the "Degreed" programmers there was no contest. They were smarter, more focused and better able to handle the task because they learned what they NEEDED, rather than what the school taught them.
That's not to say people with degrees are useless, or by definition have been fleeced or anything else.
The majority of software development doesn't require anything special that you magically acquire with a degree. Business logic can be acquired on-the-job, but it's the core skillset that's important.
I am also an undegreed person, and what I found was that school bored me - I could be out coding, and getting my hands dirty instead. A lot of the others I've spoken to had similar experiences.