It's mostly to do lack of focus, motivation, determination, funds, etc etc.
Predictably, I agree. But note this: Imagine (imagine!) I write sloppy code, then when it's getting hard to manage I refactor it, then I carry on. If I lack focus, motivation or determination then the code does not get refactored and the project grinds to a halt, because refactoring is a bind. Now if I couldn't write messy code in the first place...
I snapped my right ankle 90 degrees to the left last night (rolled it) playing basketball.
*Ouch* That'll keep you at your keyboard.