Though I haven't read the book, I am thinking that reading the bookwill let the programmer to revise some of the skills / concepts that he/she already knows. By knowing the puzzles & understanding the soluton/eplanation, I believe it helps to build more concrete foundation in using the language. Besides, it may trigger some deeper thought on using a particular feature of the language.
One extra point is: it would be fun for us to try answering the puzzles before reading the solution! (at least Ito some readers)