MIT Technology Review has a good article about Charles Simonyi in the Jan/Feb 2007 issue. Simonyi created microsoft word, and now he hopes to fix the way programmers do their job. He asks, "Why is it so hard to create good software?" here are some quotes.
"Everywhere you look, software is over budget, behind schedule, insecure, unreliable, and hard to use. Anytime an organization attempts to introduce a new system, or upgrade an old one, it takes a colossal risk."
"The US Government has found it nearly impossible to introduce or upgrade large-scale software systems: Decade long efforts at the FAA and FBI have collapsed in chaos. Businesses have fared no better. To give a single example, McDonald's executives dreamed of a (new software system)...By the time they gave up and canceled the project, they had to write off $170 million of its estimated $1 billion cost."
"But even as Moore's Law has made each year's new computers faster and cheaper, the flexibility and utility of our computer systems have been limited by the slower, uneven evolution of software. One formulation of this problem is known as Wirth's Law, after programming expert Niklaus Wirth: 'Software gets slower faster than hardware gets faster.'"
"...in Simonyi's quest to alleviate the chronic woes of the software field. 'It's not enough to be a great programmer,' Simonyi once told Hichael Hiltzik, author of a history of PARC. 'You have to find a great problem." [Simonyi's company] Intentional Software may not deliver on its grand promises. But no one can charge Simonyi with choosing too modest a problem."
One funny thing-- Simonyi doesn't know how to turn off Clippy. Ha.
Just to put in my two cents, I contend that it's so hard to create good software because programmers have typically been the type of person who wants to tinker and hack. A stereotypical coder enjoys tweaking things until they work, whether or not he knows exactly why it started working. (I used the male pronoun on purpose here! haha)