In college, I worked for a center that, among other services, provided skill building workshops for students. Before I could teach these myself, I had to attend each one. I probably had one of the biggest epiphanies of my life during the "Overcoming Procrastination" workshop.
I attended knowing I procrastinate and I figured I wouldn't learn much, other than a confirmation of what I already knew. As the instructor went through the outline, she described the various forms our procrastination takes when it manifests. She started going through the list, and after each one, I thought, "Yep, that's me ... yep, that's me too ... yep, that's me again."
Pretty soon, I noticed a disturbing pattern. Could I really have every single form of procrastination?
Sure enough, every single one applied to me. I knew I put things off, but I never thought to consider what I did to replace what I should be doing. I realized that the first step to overcoming it is to understand how it affects my own behavior. It was in this class that I realized that whenever I had a test or a major project, I would replace doing it with other good projects. As a result, the apartment would be spotless. The dishes would be done, the floor vacuumed, the dusting done ...
After that, every time I sat down to study and realized I needed to clean the toilets, I would stop myself and plan to do it later. It worked great.
I still procrastinate like crazy, but at least I'm a little more aware that I'm doing it.