This is a question I need to keep asking myself. I say this because I’ve just found myself in the middle of rewriting a piece of TodoPaper 2 functionality (session persistence) that is already working in the app. I got caught in the trap of rewriting this piece of logic to be “cleaner” and “more correct”. This is not necessarily a bad thing as you are developing, but it is something that is not in my priorities list. My current priority is to finish the pieces of the app that are incomplete, not to rewrite things that are currently working just to be more correct. Luckily I did not get too far down the rabbit hole and had enough perspective to realize where I was heading.
If you’re prone to getting side-tracked, take a step back and remind yourself every once in a while what your goal is and if what you’re doing is taking you there.