When I was learning C++ I found most literature pretty useless until something in my head clicked. To this day I am not sure what it was, but everything started to make sense. Books and websites then made far more sense. It took me 2 books to learn how to program in C++ and neither were true C++ books (they were Visual C++ books which focused primarily on MFC).
If you get the right book(s) then it can be really useful. A friend of mine was reading some Dietel books at uni and I found those extremely well written. I have never found the "... for Dummies" books that useful because they don't explain things in the right way for me. Best advice is go to a bookshop and get a taster of the book so that you don't go wasting loads of money on what tend to be extremely expensive books.
For some programming topics I find it useful to read several books, undertake research via Google and experiment. I found myself doing this a lot when I was working on AI algorithms when I was working on a checkers game with J2ME. I also found myself doing this when I was learning how to create a compiler compiler for custom syntaxes. There are so many different variations and views.
Sometimes having an understanding of multiple views allows you to make connections that are otherwise more obscure.