The problem is following a "maximizing" strategy, instead of a "satisficing" strategy.
Maximizing means you do things based on what seems like the best possible path. Satisficing is focusing on the minimum requirements to reach your goal.
Never finishing seems to be a combination of maximizing when you don't need to bother, and also failing to identify the true requirements for you. In order for you to start a successful venture, there are a surprisingly large number of fixed requirements:
1) You need a product that people care about
2) That you can charge for
3) With a viable customer acquisition strategy
4) Where 2) × 3) = enough to support you
5) It needs to be something you can actually implement
6) That you can stay excited about for many years
The problem is that maximizers will start maximizing on some handful of these. Often they'll take #5 super seriously and start trying to execute perfectly on their vision, do great design, etc, etc.
But then at some point along the way they start to realize that even if they maximize on that axis, they haven't satisfied one of the core requirements. Indeed, the can't satisfy one of the core requirements. It's a depressing realization, and the only option is to jettison the idea and move on to something else.
Which leads me to my somewhat unexpected conclusion, that the solution to never finishing may well be not starting. Which isn't to say that you should twiddle your thumbs and not build stuff. Building stuff is a critical skill that you need to practice.
But just treat your projects like side projects. Don't start running off and thinking you're going to actually start a company until you have a project that you really think can hit all six requirements.
And don't try to maximize any of them. The important thing is to get all six cooking at an acceptable level.