Sorry for being so uninformed but what happens if there is an error in the logic? Doesn't that mean that it's not possible to update the smart contract?
[1] https://www.theregister.co.uk/2017/07/20/us30_million_below_...
But in many cases you do want some ability to upgrade the code, and then you simply program in that ability by creating a repointable proxy with whatever authorization logic you want.
If you are a big name in the Ethereum community, they will soft fork Ethereum so that your mistake is rolled back.
Precedent seems to indicate otherwise.