I'm not saying they won't make good programmers, but the question kind of implies that we learn things we never use when obtaining a CS degree - Not true at all.
I can speak only for India, but I learnt a huge deal in college - the basics of programming. Sure, I paid attention in only 1% of my lectures, but there are some key programming principles which I would have to learn the hard way if I had dropped out.
I was on the hunt for a new job in December 2016 and I had a lot of free time, so the only thing I did back then was to build side projects. In a way, dropouts do have a lot free time and if they're motivated enough, they can become good programmers. However, you cannot generalize and say that dropouts make 'better' programmers than CS grads.
TLDR; Anyone can be a good programmer - with or without a degree.