When automating Juju, you may want to use the same user on multiple machines, such as when a Juju-using app is scaled. Or, for a CI system, you likely want Juju run from within a pristine (containerized) environment, necessitating re-registering the controller for each run. And then of course there's usual dev / debug workflow where you may add and remove controllers multiple times while testing something.
From Cory Johns description in bug # 1657187:
When automating Juju, you may want to use the same user on multiple machines, such as when a Juju-using app is scaled. Or, for a CI system, you likely want Juju run from within a pristine (containerized) environment, necessitating re-registering the controller for each run. And then of course there's usual dev / debug workflow where you may add and remove controllers multiple times while testing something.