A few more resons why software is insecure!

1. You might have 1000 of the best programmers at M$, but when a product is released you will have hundreds of thousands of ppl trying to find flaws with it.

2. The deadline. We live in a money driven world and a product has to be coded debugged packaged and released within a certain timetable, perhaps if there was less emphasis on releasing a product so the money starts rolling in, and more time given to the coders to get it right in the first place - to check intergration etc, then this would without doubt lead to higher quality software with less flaws

Nice informative post