Bugs = Human Errors
Software-bugs are the result of human errors and lack of completeness and logic during the creation-process. It’s a fundamental human shortcoming, for which a lasting cure is yet to be found.
Any attempts to correct buggy software without recreating it from scratch, will inevitably lead to even more and more complex bugs finding their way into the software, because of the same human shortcomings.
All software that rely on other software — including Operating Systems (of course), will also rely on its bugs. Thus we get a cascade of bugs from all involved bits of software, which makes even the thought of finding bug-free software completely absurd.
Note: Do try to go and read the entire article (link above) it is one of the very best essays bordering into a think piece on software bugs 😉