Complicated, I can accept. But *insanely* complicated? It is a control
operating system with a few dozen functional routines, hopefully
documented sufficiently that there is no dependence on the person who
wrote it. One thing I learned from working in a software development
environment is that change is normal.
The real answer is that things change, whether it be new types of
hardware, functional standards, or user expectations. Also, the testing
budget is finite and thus unlikely to be sufficiently exhaustive to find
the more obscure bugs.
There is also the competitive element of each product being able to be
described as sufficiently different from similar products from other
trade marks that there is a marketing advantage that can be exploited.
Reliability improvements by correcting bugs that are discovered in due
course is part of that scenario.
Jim