I add keywords and all other types of metadata to each of my photos (like copyright info showing who took the photo). It makes searching for photos out of thousands of them so simple. For example, if I want to find all the photos taken of a single person, I just bring up that keyword and it shows each photo. Its much simpler than manually finding them. Besides, I can also set up smart albums to view photos based on keywords. Like all the pictures taken of Mickey in the Magic Kingdom.
In my experience, most photo organizing/editing software comes with some method of adding/editing metadata. I use Apple's Aperture (iPhoto does keywords too) so if you're not running a Mac I guess my software suggestion doesn't help much. I am sure some of the other members can help you with either photo organization software or software that specifically adds keywords to metadata.