There are plenty of image organizers out there, many free that will handle your needs.
It's so easy to do yourself. First thing to do is rename. If you have an image editor that can add annotations/user fields to the database, add. Each image should have a unique name so get rid of that DSC blah blah blah crap. It takes seconds to rename a picture set when you download from your camera. The more information you put in, the easier to find stuff so its pay now or later. There's a happy medium.
I keep it simple by renaming by location and date with a folder for each date. Oddballs I would label to suit. Other folk may prefer by occasion and date (fred birthday 100725 001.jpg).
Only you can decide what categories to file them under. If you want to set it up yourself, make a folder (they even give you "My Pictures" if you are lazy) and sub-folders. A good idea is to make contact sheets for all the images in a subfolder so you only have to open one image to find which one you need. Prefix the contact name with "!", "0" or similar so it's the first image. An album app will provide some alternative.
There are two types of albums/editors. What I term "Live" eg IrfanView, and "Database" eg ThumbsPlus. In the "live", the thumbs are created every time you access. It takes a long time to make 5,000 thumbs! In the "database", the thumbs are already made. The trade-off is access speed against disk space used.
As already mentioned, back them up. If they are really valuable, keep a dvd or other robust copy somewhere other than where the PC lives.