Joel Spolsky recently wrote:
Programmers seem to have stopped reading books. The market for books on programming topics is miniscule compared to the number of working programmers.
I certainly can't speak for all programmers, but as for myself, and every programmer I know in real life, we are still reading books. However, we may be reading less books.
I would guess that up until a few years ago (more, depending on how you look at it), books were the only good way to get a start in programming, or in a new programming language. The information available online was simple not good enough to give you anything more than a cursory glance at the process of software development, much less on specific languages and frameworks. Internet speeds were slower, the push for open content wasn't in nearly as much of a fervor, and there were much fewer programmers.
These days, a lot of people are picking up a scripting language, or have a need to learn some basic programming skills, and (at least partly because of this), there is a lot of information readily available about such things online. Hell, there's an entire culture surrounding programming blogs (and sure, blogs in general).
If I need to remember, or look up how to do something in one of these subjects, I go to these first.
Similarily, books like SICP, The Mythical Man Month, TAOCP, The Art of the Meta Object Protocol, - and many others, while not necessarily about any one programming language or framework, are filled with things that programmers tend to find interesting, and are worthy of being read if one is wanting to improve their skill as a programmer. Some of these great reads are
available to read online for free, some of them are not.
Please note that this shouldn't be read as critical of the upcoming stackoverflow.com. I think that it would be very nice to have a popular, high-quality replacement for abhorrent beasts like expertsexchange - however, I don't think that it'll be replacing books anytime soon for me, especially not in areas that are more general than specific programming languages and frameworks.