Combine that with a very fast moving economy of software engineers who don't stay in the same job for more than a few months and all knowledge of the old code goes away...
Which is bloody daft for anything because it takes at least that long just to properly understand what the old code is doing, so you end up with layer upon layer of guff put together by people who don't really know what's going on even in the bit they were doing themselves, let alone all the rest of it.
This is bad enough even for things like putting websites together where "must be a buzzword-addicted clueless moron with no idea how to do anything beyond C&Ping inappropriate code off stackoverflow" is part of the job description. For a widely-distributed safety-critical installation which is already beset with out-of-control complexity and a list of compatibility problems and niche cases which is longer than the track mileage, it is beyond stupid and well into outrageous.