It's amazing what you can do to improve a picture using photoshop or other photo editing software. I use Photoshop CS for my professional imaging, but for most of my personal images I use picnik. It's free if you only upload 5 pictures at a time, or pretty cheap if you want to upload unlimited images. What I love about it is that it's super user friendly and you can do just about anything with your photos!
The first step I usually take is to try out the auto fix. Sometimes I like it, sometimes I hate it and quickly hit the undo button, and other times it helps, but still needs more work.
I always mess around with the exposure, (levels is even better if you use photoshop cs) warmth, and contrast. Sometimes I think my photo looks good, but once I start to lighten it or warm it up, I see that it was actually pretty dark and/or cold.
Especially in pictures of people, adding a little warmth is almost always good! Everyone looks better with a little color in their cheeks. See for yourself: