What would you recommend instead? If you insist people remember all of their passwords in their head, you'll end up with them using the same password for everything.
For example, if you're password is "puppy" and you're signing-up for HN, your password would be:
pHuApCpKy
And, if you wanted to make it stronger, salt it with some special characters.
p~Hu!Ap@Cp#Ky$
... which is just the shift-characters on a number row in order.
This way, you only have to remember one password, and it is service specific, and pretty strong. No password manager needed.
Of course, I don't do this. I use a 1Password and KeepassX.
To be honest, firefox has an encrypted database of site-passwords. What's wrong with that?