If you want to password-protect your entire site (and make it accessible for people who all know the generic password), I’d suggest this plugin: http://www.benhuson.co.uk/wordpress-plugins/password-protected/
If you want to password-protect individual posts, change the “Visibility” settings for the post from Public to Password Protected.
If you want users to be able to register, make sure the checkbox “Anyone can register” is checked in the General Settings page.
There’s plenty of methods to protect content with a password, but the more complex/structured you want it, the more things you’ll have to set/configure. If the above solutions are not an option for you, you can always look for some plugins, there are probably dozens of them out there.