I am terribly lazy and yet when I get really 'into' something I can be at it for hours on end.
Firing up my enthusiasm can be difficult when, as others have said, payback may not be forthcoming or is too far off in the future. Disappointments from the past can still be lurking and that helps to sap vital energies.
I often find as well, that when I undertake something I am happy with it for a while, but it is never quite to my satisfaction by the time I have finished it.
I am also too good at going into 'retreat mode', which usually entails reading or re-reading some of my favourite books for weeks on end.
I also seem to have a tendency to read a programming textbook, but not actually do the necessary programming to make sure I really understand what I am doing. Also, distraction is another bug-bear of mine sometimes.
_________________
"The power of accurate observation is called cynicism by those who have not got it." - George Bernard Shaw (Taken from someone on comp.programming)