I think yayou might be on to something. ForFor me at least, Mostmost of my skill hasskills have come from wanting/needing a program that does "X".
Maybe the people that learn this way aren't asking for help; they're just too busy getting it done (poorly, but learning along the way). The folks who want to be programmers (as apposed to that first group) ask a lot of questions about how to be a programmer, or how to program, even though they don't necessarily have a problem to solve, and these aren't questions with direct answers.
And so we punt to books. "Oh yeah, pick up a copy of 'Dive into Python.'" "Is that how you learned?" "Nope" "Um..." "I'm kindakind of busy, but I'll help if you get stuck" "Uh... Ok iOK, I guess"
On the other hand, I value the heck out of good reading material when I am learning, Soso that I can see how the problem I'm trying to solve is solved by a more skilled author, or maybe just so that I can learn some "beginner" techniques I might not have pick up along the way.
tl'drTLDR: books are good, learning by doing is good, learning by doing books is ???