I’ve heard premature publishers, when confronted with criticism of their books, say, “But I’ve been writing this book for years! I just couldn’t wait another minute to publish!”
Some people write fast; others write more slowly. Some writers get it right during the second draft; others go through their work piece by piece, dozens of times. Everyone goes at his own pace. If your book isn’t ready, it’s not ready. Period. And if someone tells you it shouldn’t have been published yet, then no excuses on your part will give them back the hours they spent reading it.
Take your time to get it right, but if you’ve been working for years on the same thing and it’s still not fit for public viewing, then take a step back and evaluate why. Are you burnt out on the book? Do you want to move on to something else but don’t want to trash the sheer volume of hours you’ve put into this book? Set it aside for a little while and write something for fun. Heck, write another book that flows easier. Maybe you’ll come back to your original project refreshed, and maybe it will sit in the drawer for years before you want to revisit it. Maybe absence will help it to rearrange itself in your mind so your path is clearer when you go back to it.
When it’s done, it’s done. And if it’s not, don’t publish yet.