I've always had a problem with this one. Not really sure why.
I hate the word "perfectionist", but I think that's what I am. Perhaps "precisionist" or "maximizer" would be a better word.
Once I started insisting that my app was just right, I was able to move up to the next level of "hackerdom". Some days I write a thousand lines of code and the next day I will agonize over one little construct because deep in my gut, I know it's not what it needs to be. I don't mind being this way.
Of course, I understand the downside of this thinking. You don't want to obsess so much that you never release. But you don't want to release and come back and fix bad stuff too much, either. Experience, and a gut feeling, oughta tell you how far to push.
One of the things that made me feel much better about this was reading about Woz's obsession with making everything just right when he designed the Apple II. Chapter 3 of "Founders at Work" by Jessica Livingston. Which was Woz, the perfectionist or the pragmatist?
(If you don't have the book and haven't read it yet, must reading for all aspiring superstars...