The rush to meet a deadline for a new release is one reason: programming is not easy it's complicated stuff
when there is alot of pressure to get something done without the time to test and you have a boss
and marketing people who want it done yesterday well your going to miss things especially
Windows with 50,000,000 lines of code bloat I don't envy someone who has to go through
that pile of spagetti, another reason is sloppy coding how else to explain why they have so
many bufferoverflows?