According to me it is a quite spreaded guideline, but not everywhere.
For instance, from my own experience, I've worked on real time system in financial firm. Systems needs to be reliable, otherwise business people loose money when they are not able to reach market opportunities. Systems may be 10 or 15 years old, and many differents persons could have modified them, writing no documentations... While the code smells, it does what it does, and trying to refactor it could break to much things. Therefore the rule you are talking about applies here.
But now late's take the airplane/defense industry exemple. People are writing huge real time systems, which needs to be much more reliable(!) as ordniary people lives are in game(!!). Those systems must not have any bugs of any sort: an airplane must not crash because of null pointer access in that system for instance ... Big amount of money are spent to reach that goal. While I've never worked in such firm, some friends of mine does, and it seems that any modification in the code is finely documented and reviewed by multiple different programmers, then the whole system pass through test benchmark to ensure all is ok. It takes time and money to do that, but it is necessary, and of course the code keeps the best clarity as possible, coders must follow very strict coding rules all along the projet.
In conclusion, the rule you are talking about depends really .. on the specification, on how much clients are ready to spent to get their system working, on the environnement. While airplane industry don't have choice, Bank industry have the choice.
Whe a bug happens they loose many money. But actually, it is only a fraction of their gains (well , they really gain a lot of money). I think that, someone in investment banking, some days, must have compare the two ways of maintaining code. And actually I guess that the result is: trying to get the best code as possible for a system will cost too much (and take much more time to develop), than the usual way it is done. Just add bug costs and developer team cost in a bank firm, it will probably always beat the cost if it had been done the way they do in airplane/defense industries.
And I bet the same way of thinking could apply in your firm, as as your hardware is not life critical? Isn't it?