The problem with most of these systems, is that there is often, not a single way to categorize a photo. If your photo has a person in it, do you file it if a folder with other photos of that person, or with other photos taken in the same location? Worse, what if there several people in it? The "right" answer probably depends on what was most significant. When I organizes photos that way, It would eventually turn into chaos.
Photoshop Elements comes with a very nice photo organizers.
For starters, you place all of your photos into "albums, "sub-albums," etc. In actuality, the photos continue to reside in whatever folders they happen to be in. The albums just contain links to the actual photos. The albums act as if the photo was really there. You can view, print, or edit a photo through the album, without being at all concerned with what folder it might be in. It wouldn't even hurt to just keep all of your photos in a single, massive folder.
One of the advantages of this system, is that any photo can be in an unlimited number of albums at the same time. If I am in Shoshone National Forest, take a photo of my wife, feeding a Clark's Nutcracker, I can put it in the Rocky Mountain / Shoshone National Forest album. It can also be in the Birds / Clark's Nutcracker album, as well as in the
People / Dorothy album. Another nice feature, is that you can arrange the order of the photos within an album in any way that you want.
If that isn't enough, you can attach an unlimited number of keywords to each photo, and then search for photo by keyword. For each photo found, it will list all of the albums.
The program can also display all of the EXIF data for each photo. If you want to know what the shutter speed was, or what f-stop was used, it's all right there. It will also search by "date taken."
Joel