The voice in your head may be telling you that what you are working on is not perfect, therefore you will spend more time on it. And every time you approach the end, you will see one or two more things that can be improved and work on them, instead of finally making use of the thing, skill or anything else you are working on. This is how I never finish my projects. And I think I know why — because I don't have a clear goal in mind.
Basically, when you are not aiming for anything specific, you are aiming for perfection, and it is impossible to reach so the work is never finished. Instead of aiming for something abstract and perfect, draw a clear picture of what you want to achieve in the end and aim for it. You don't have to plan everything in advance, but you should have at least some parameters that can tell you whether you achieved the goal or no.
Define what is perfection for you in order to reach it.
When the goal is simply “perfection” — you cannot stop improving. At any stage of the project you could ask, “Have I reached the perfection?” and the answer will always be, “No!” So, you have to have some definition of perfection to aim for.
What is the ideal outcome for you? Write it down and go for it!