Re: If it works, don't fix it.
>It doesn't just apply to safety critical systems.
Yes it does, you just have to test them. Remember that test-driven-development part of agile?
>It's not OK to agilely develop the benefits system
Yes it is. Have the system do one simple part, roll it out, check it works, then move more and more functionality to the new system until you can turn off the old one. The existing model consists of gather all the requirements, spend 10years and umpteen billion developing a system, discover you have missed a case where somebody with more than one married partner changes sex and name in the same financial period - abandon entire system and start again.
>It's not OK to agilely develop the tax system
Again develop a a system that allows looking up the status of your current return, then adding returns for simple cases, then add more and more complex cases, If necessary. it might make sense to have some very weird cases done entirely manually or kept on a small part of the legacy system. That's the point of agile - have something working all the time.