My question is not "Is SO the place to learn..." but rather should it be?
There is a concerted drive from many people on SO to answer every question, irrespective of the quality of the question or the availability of the answer. Any comment or answer that doesn't provide a definitive answer is leapt upon and the author is brought to task. Despite the leapers claim to be even handed, the OP is never chided (or at least in my experience).
This does make me question the objective of SO. If it is intended to be a place for non-programmers to learn how to program then it makes sense that any vaguely programming related question goes and should be answered in full even if there are 100K sites on the web also providing the same answer, after all we can't link to them all and a Google search link would get marked as 'Offensive' in seconds.
If, however, this is a programming Q&A site for programmers then I'd expect a far fewer 'free lunches' and a little more a la carte.
Which is it? Is SO a place to learn how to program or is it a place to get help while you are programming?