Most smart contracts are not impossible to patch because everyone knows that's bad for security. They use a delegate/proxy pattern where the deployer can change the implementation any time but users can still access the old one with a third party interface.
And if a problem is critical enough the community can decide to hard fork and rewrite the contracts source code even if it's immutable. It already happened with the Ethereum DAO hack and most people were okay with it.
The issue with stuff like this is inheriting all the funds held in the old contract. I guess a hard fork can do it. There's also the issue of trustworthiness of the smart contract owner. Trustworthiness in general is a huge issue in the crypto world, because if you can get away with something you can do it pretty much instantly and irrevocably (without another hard fork anyway). There's a chance that if you share a vulnerability that would allow one of the contract owners to take advantage, they will just do it and run. Plenty of cases of previously-trustworthy crypto people seeing an opportunity and disappearing with a lifetime of money.