A lot of people want to get into web development. One thing they have to understand as that while the barrier to entry is low there are a ton of nuances that separate a mediocre web developer from a great one.
These guidelines are a good example of what web developers have to deal with on a daily basis. Certainly not trivial.
I see myself as quite competent, but I still wouldn't trust myself to catch all the nuances. And even if I could it would be too much work for every new project.
I think this is a good argument for the existence of a suite/library that manages things like password storage, recovery, validation, etc. Integrating everything from using good salts and hashes to captchas and retry delays.
These guidelines are a good example of what web developers have to deal with on a daily basis. Certainly not trivial.