I improved my skin drastically by getting yearly facials and switching to all natural products.
The real key is knowing your own skin. When I was younger, I had pimples, so I assumed I had oily skin. I tried ProActive, Clean & Clear, Neutrogena, plain soap and water... then tried Desert Essence Tea Tree Oil cleanser. I was also exfoliating all the time and using benzoyl peroxide nightly. Turns out, my skin tends towards dryness. All the stuff I was throwing at my non-existent oil problem was making my skin go haywire.
My current regimen seems to be working, since the last time I got a facial, the lady complimented me on my beautiful, easy to work on skin (a couple of blackheads on my nose and around my hairline, and the occasional pimple are all I get now). I use Dr. Bronner's Castile Soap on a natural sponge every other day, Alba Sea Lipids daily moisturizer, and a red clay mask once a month.
I'd really suggest going to a spa and getting a facial - they can tell you all kinds of things about your skin, and it's so worth it.