Software should work but now that I have had the experience of writing and releasing a full product I can tell you that its the users that demand that you release early even with the bugs in it. People who buy software want more features with bugs in more than they want less features which are fully tested and fixed. That's not what I want but its is what the large majority of people want. Microsoft are big because they outpaced their rivals with features and a pretty UI despite everyone and their dog knowing that it used to crash & BSOD continuously. There are people now that only buy apps from version 2 or that they release 10+ versions per year because it has an active development strategy. This to me smacks of it being fundamentally buggy and likely as not never ever to work without problems. But if you write something and spend ages getting it perfect, release a V1 and not update it then to large sections of the potential user base its a non starter. With a company like Microsoft who has a history of releasing less well tested software then you can apply that strategy but its not universal.