Of course coding is just 10% of the work. So is the lifecycle management, the quality control, the documentation, and the design.
But here lies the common fallacy, that though the coding may be just 10% of the whole software development process; the 10% is too damn important. Writing good software is the fundamental of software development. Writing good software means writing quality code. I just don't see any other way around it.
However, in any software project, coding will not be the only success factor. If the design is bad, no amount of coding will pull it off.
If the documentation is bad, often that reflects bad design decision or just lazy developers who more often than not, incompetent.
If the project does not follow any procedures or processes then there is no way to ensure that the project will succeed. Software development that delivers doesn't happen by being lucky.
Truth is, in any software development, you must never overlook any part of the software project. Quality must begin from day one and it must happen at every level.
Why most of the software projects fail? The answer might not always be obvious.
The best you can do, as a software developer is to continue to learn to do the right thing. Doing the right thing often come with exprience. So, no choice la, just keep on improving. :-D
(Thanks to totoro that spurred this blog entry)