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.
One of the challenges of an open-ended war or the Occupy movement is that they are projects where failure or victory wasn't understood at the beginning. While you may be tempted to be situational about this, to know it when you see it, to decide as you go, it's far more powerful and effective to define victory or failure in advance.
Declare one or the other, but declare.