I'll second this; the books I've retained the most from are the ones I've done the exercises for. Hell, even PragProg had exercises! Effective C++? Nada. I'm lucky if I can remember enough from it to remember to look things up.
Same here. I'll often buy a substandard book from the "21 days" or "24 Hours" series, even with all their lack of editing and inferior writing, over other books. Why? Because the exercises they usually have help me retain more that a better book.