I use Digikam.
+ It manages meta-data and tags (yes my own taxonomy) that I apply to allow me to easily find images and to give space to write some text.
+ It has an editor that's good for colour correction cropping and similar functions (I use GIMP for more complex changes).
+ It has a print manager to help arrange images on sheets of photo paper, add titles and such.
+ It also has face recognition and tagging, so I can access a folder of images and choose nice pictures based on who is in them, or if I want a picture with a certain group of people in then I can find them all.
+ Search by keywords, or by drawing a rudimentary image and doing image matching.
+ What else, oh, when it's somewhere new I usually add some geo coordinates so that if in the future if we want to remember where we were, or my kids want to find the place we visited, or somesuch then they can
+ Uploading images to Facebook (and in the past to other places like Flickr and a private Gallery2 site) and keeping track of which images were uploaded (by using tags).
That's about all I use, there's lots more in there including things like date sorting (which ignores the folder structure and lets you view virtual folders by date) and colour searching.
Tags and such are applied in well-known meta-data regions that can be ported to other applications. In fact one problem I had was that I downloaded a load of image files that were already tagged and the tags were automatically imported.