Adobe Bridge or Adobe Lightroom lets you add metadata to your files.
Metadata are keywords hidden in the file structure, and you can add as many keywords as you like.
However, I find it easier to have folder structures.
Every month I'll go through my images folder and move the images into appropriate folders like:
Architecture
Landscape
Red
...
even if it means that I duplicate the images into several folders.
Or create subfolders
Landscape
...Red
...Architecture
After a while you'll have a very neat and tidy structure and easy to navigate folder and subfolder system.
I've tried other methods, like Picassa, and a few other standalone apps, like ACDsee and I've tried a few online solutions.
None really matched my requirements.
So adding metadata through Bridge or Lightroom works well - but it's time consuming with 1000s of photos.
And Folder structures are faster and easier to control.
As you can search your folder for "Red Architecture"
And it will give you the results from several folders if you have several that is.