Iterations are expensive if nothing comes out of them (and yes, sometimes that’s unavoidable). But reminding ourselves that design can (and will) always be updated helps promote a flow of constant improvements, even if they’re not perfect.
I find that asking “Is this an improvement over the last version?” instead of “Is this perfect?” yields a better release cycle and (hopefully) happier users. Let’s face it, perfection doesn’t exist, even though we all use the term (loosely). Our goal should be to release, learn, update, and release to make sure our interfaces are always trying to solve the right problems the best way possible at that moment in time.
Remember, design is never done.