The concepts are spot on. Learning things like don't blame the user, blame the design and the goal of simple rather than complex design.
However, the book has many errors, most of them small, like an example of using the five whys, and then mentioning that in his example he only used four, when in fact he used five. That's small.
But then when talking about extremism, he lists generally good and time tested practices (test driven development, self-documenting code) s as extreme ideas that should be avoided, when in fact they are very good, powerful ideas, that could be taken to the extreme. Good ideas that should be used, just not taken to the extreme, but ones he apparently disagrees with so uses his power of authority (reasoning with the user as a person with authority on the subject) to avoid proven practices that he disagrees with (which is interesting because he's reasoning on not taking ideologies to an extreme "religious"-like opinion, and then he does just that in his examples.