"Code refactoring is any change to a computer program's code that improves its readability or simplifies its structure without changing its results." - Wikipedia
I've met quite a bunch of developers that felt refactoring was a waste of time. "Why would you write code only to change the code at a later point? Why not just write the code perfectly in the first place?" or "You're writing code for the same functionality over and over again, isn't that a waste of time?"
I hope to prove to you that there is much power in refactoring, but with power comes responsibility.