Strings get dirty and tarnish over time due to humidity. Even more so because of dirt and oil from your fingers. Washing you hands DOES help, but not a lot.
There are several string cleaning products on the market. The two I've used off the top of my head are "Finger Ease"
http://www.amazon.com/Finger-Ease-Guitar-String-Lubricant/dp/B0002OP80G and "Fast Fret"
http://www.amazon.com/GHS-A87-Fast-Fret-String-Cleaner/dp/B0002D0CQC.
Both advertise as a string lubricant, but they also clean your strings too.
Personally, I think Fast Fret gets a little too greasy, so I use finger ease.
What I do is before I play, I spray a quick pass of finger ease across the strings, I rock out and do my thang, and when I am done, before I put my guitar away, I'll give it another pass with the Fast Fret, and then wipe my strings down with a soft bandanna that I use ONLY for the strings. That seems to keep them nicer longer.
As far as the rest of your guitar, any store-bought guitar polish for the body and a lint-free polishing cloth will be fine. For your fretboard, some lemon or linseed oil will do nicely. Dr. Kyser's Lem-Oil is what I use for my fret board. Polish/clean your fretboard each time you change your strings. Same for your whole guitar. Give it a good polish each time you change your strings.
Another little helpful tip - go buy a nice 1.5" - 2" soft hair paint brush (not expensive at all), and keep that in your guitar case. It's PERFECT to get dust out of those hard to reach places, like under the strings near the bridge and headstock!
Hope this helps!