Seth Godin answered the question "How Do You Know When It's Done?" on his blog this morning. And his answer is...
Of course, it's not done. It's never done.
That's not the right question.
The question is: when is it good enough?
Good enough, for those that seek perfection, is what we call it when it's sufficient to surpass the standards we've set. Anything beyond good enough is called stalling and a waste of time.
If you don't like your definition of 'good enough', then feel free to change that, but the goal before shipping is merely that. Not perfect.
Good advice for musicians, I think.
Here's a story that's a great example of this...
Top band is recording a song in the studio. Label is on deadline and the pressure is high. Producer is stalling, trying to tweak it. But it's done...at least in the opinion of the label people.
So a label guy comes into the studio, gets a copy of the "rough" track, and it gets released.
Song goes to #1 and was one of the act's biggest hits.
Agree with Seth that it's never done, but sometimes it is finished.