Having and end date, a hard deadline, or a ‘ship date’ is important.
If you don’t know when it’s going to be over, when the work is going have to stop, when time is up, and when it’s time to tell the world (or yourself) ‘here’s how I did’, then you’re less likely to push yourself to actually produce results.
On the other hand, if you begin with the end in mind, set a delivery date for the end of your project, and stick to it, then that drives everything forward with much more clarity & precision.
You might get to revise it later, take another pass, or do a version 2.0, but, for now, you’ve got to deliver something.
Make it great.