The expiration mechanism is needed to expire the account in the future. Say like a service account that can be used for a week or so.
The locking mechanism works only for local password login, not with other login mechanisms like PAM or ssh key.
`man usermod` explicitly says if you want to disable an account, you also have to expire it, not just lock it. Therefore, `usermod -e 1 username` is the correct way to lock an account.