Although again, if you're only changing branches which haven't a different number of submodules, you should not need that and the update should be enough.
I use deinit to do clean up if I modified a submodule or just to remove leftovers, although they shouldn't be referenced anymore.