Here's a list of resources I pulled together that explain what refactoring is, why it exists, what code smells are, and the mechanics of refactoring.
- What's a code smell?
- A farily exhaustive list of code smells
- A definition and theories of refactoring
- Martin Fowler's Refactoring is widely considered the bible of refactoring philosophy and methodology.
- And here's a very quick summary of the book.