Whenever you start a project, you should have a plan for finishing it.
One outcome is to declare victory, to find that moment when you have satisfied your objectives and reached a goal.
The other outcome, which feels like a downer but is almost as good, is to declare failure, to realize that you’ve run out of useful string and it’s time to move on. I think the intentional act of declaring becomes an essential moment of learning, a spot in time where you consider inputs and outputs and adjust your strategy for next time.
If you are unable to declare, then you’re going to slog, and instead of starting new projects based on what you’ve learned, you’ll merely end up trapped. I’m not suggesting that you flit. A project might last a decade or a generation, but if it is to be a project, it must have an end.