Many ways...
If you are not very saavy, use some sort of content management system (CMS). Many of these offer some sort of password protected area.
Some of the photo gallery packages may also offer password protected areas. (Coppermine, etc...)
If you are web saavy, then many more possibilities. If you are building your site yourself, you can protect your files through php, asp, ssi scripts, or even the highest level, the .htaccess file.
Tell us more about your level of knowledge, and perhaps we can guide you towards making the right choice.
The easiest possible way....
This is what I do. On my site I have a client login page. On this page are login links for each project/client I am working on. These links go to a directory with the protected content in it. Simply turn on 'password protect directory' in directadmin/cpanel. Set a username/password and give it to whoever you want.
This isn't the ideal way to do it, but it works for me. Good luck.
Just make a photoalbum and put it in one directory and then just password protect that whole directory and noone else will be able to see it.
Everyone's suggestions are most likely one in the same.
The web host control panels (cpanel and direct admin) have password functions, which basically are pretty front-ends that make changes to the .htaccess files.