Bugs are the major unpredictable factor in software development projects. It's what makes projects run late. Wouldn't it be great if we could write bug- and defect-free software? Imagine a project where no testers are needed because no bugs are created. Is this even possible? Is it something to strive for?
We are a young and immature industry. This is obvious from how many projects are running late, over budget, or simply canceled. We try to run our projects as if we're building bridges, and we like to compare our industry professionals to surgeons.
Our bridges, they fall, but we can't blame the materials or force majeure. We can only blame ourselves and our own ignorance, and vow that next time, we will focus more on quality and build a better bridge.