Defaults are the normal case
A default records what usually happens. The caller then only supplies what is different, which is why a good signature has one required part.
The shared default trap
A default value is made once, at definition time. A list or dict default is therefore the same object every call, which is the classic surprise.