The idea behind a guy who gets a degree is not that he knows the most used languages but that he knows what developing a piece of software is about. He knows about design, about structure, about how to tackle the problem. So when that dude sits in front of a computer and someone says to him "Code this and that, in C++ please" he, even if he doesn't knows the language perfectly, will write good quality code nevertheless.
nice speech but no, this isn't true in real life.
"Good quality code" is only achieved though experience and mistakes. Every new guy, with or without a degree, will write terrible code if he doesn't have the necessary coding experience.
I think the main difference is that, having a degree you show you have the potential to get better at what the company needs from you.. you are able to work on a schedule and learn what's needed. Without a degree you just show you haven't been able to commit to finish your studies, and that, is not a very good start.
I think, as a self learner, you'll never have the chance to be given time to learn on the job, you'll need to put yourself into the position of being productive from day 1... without leaving any doubts... it's doable, but it requires lots of time investments and has a lower possibility of success compared to the "normal" route through uni.