Functionally speaking, in a decentralized workflow, I don't see the difference between simple and current options for push.default config setting.
current will push the current branch to an identically named branch on the specified remote. simple will effectively do the same thing as well for both the tracked and any untracked remotes for the current branch (it enforces identical branch names in both cases).
Can someone explain any important differences between the two for decentralized workflows that I am missing?