Disclaimer: Slightly OT.
The last place I worked for was a company that designs nuclear waste
processing equipment. Around 50 years ago the DOE buried liquid nuclear
waste in metal caskets in the ground out in Washington state. For some
reason they did this close to the Washington river. Well the caskets only
had a 50-year life span and a few years ago those caskets began to leak high
level and low level nuclear waste into the river and surrounding soil. Not
good. So our non-preventitive government decided to get the liquid waste out
of the ground, turn it into solid waste and bury it again.
This kind of applies to software programmers. They know there's shit in the
code, but why fix it until you're forced to? I think the downfall to any
preventitive action is the risk of wasted cost. No one wants to spend extra
money if they aren't 100% the issue will ever arise or maybe they are
ignorant to the issue entirely.