I think the wise kilt wearing Ben Hammersley has it right that developers spend too much time worrying about details that simply don't matter to non-geeks.
Is my site better because it validates? Do you seriously come back here because the blog software I wrote is built upon a MVC framework and uses a nice, coherent, and flexible database schema? Would you like me more if I had used some REST interfaces? If you do... you really need to get a life.
If you don't like my content, topics, writing style, or me personally would it help if my permanent URLs were /blog/archive/some_story_frank_wrote instead of /blog/archive/37 ???? Would you become my reader if I rewrote all of this in Ruby On Rails instead of using my beloved mod_perl? I really doubt it.
I think this syndrome, I'm going to call it CSD for Compulsive Standards Disorder , is a cousin of the common ED syndrome. No not erectile dysfunction, I'm talking about Efficiency Disorder. The disorder that causes developers to prematurely optimize their software.
I'm as bad about this as the next developer, but sometimes stuff just needs to ship. Holding it back until it is perfect is essentially putting it on hold forever. Just face it, it is NEVER going to be perfect. There is always going to be a slightly better way, a newer standard, a new best practice, etc. What you should be asking yourself is this "Is this perfect enough for the user?". If the answer is even close to yes, ship it.
The first step is admitting you have a problem.