If you keep your codebase clean and expressive it will be supple, it will support your need for change as the project moves forward.
If you let the codebase get crufty and brittle, your progress will slow to a crawl as change becomes harder and bugs keep cropping up. It won't happen in the first release, maybe not even the second, but it will happen.
I have seen both kind of projects and the clean ones are a whole lot more fun after they have been through a few release cycles.