A savings policy sold in 1994 must still be paid correctly in 2044, whoever runs the computer that holds it.
The first program I changed in production, in the spring of 1997, calculated the annual revaluation of savings policies for a small insurer in Piedmont. My supervisor at Gemmaldi Informatica, a Turin service bureau that ran policy systems for several insurers on a shared mainframe, made me read the policy conditions before touching the code. The rule I had been asked to adjust matched a clause that a later product had altered. Nobody had noticed, because the two products were rarely held by the same customer. Since then I have treated policy wording and program logic as two records of one promise, and I distrust either when it stands alone.
An insurer can hand the running of a system to someone else. It cannot hand over its understanding of the promises held inside that system. I keep that understanding in the company: in product rules written down outside the code, in people who can still read the old programs, and in contracts that let us leave. Most of my other technology choices follow from that.