Smart Contracts Are Just Software, and That’s the Problem
Immutable deployment is a guarantee in both directions.
By Devin Rao

Software has bugs. Software that cannot be patched has bugs permanently, holding funds, in public, with an attacker reading the source.
Upgradeability and its discontents
Proxy patterns restore the ability to fix things and reintroduce the trusted party the design was meant to remove. There is no free version of this trade.