Barring the issue of losing private keys ...
Getting normal people to have / manage / distribute a key pair has been an ongoing / unsolved practical problem in just plain encryption/ authentication for like 35 years. The protocols have always supported it (or close enough to "always") but it just never took off.
Technically when you hit your bank's site in a browser, your browser COULD prompt you to present a client cert that you'd pre-registered with the bank and not even let you connect otherwise. And it's been able to do that as long as HTTPS has existed.... but it never took off for that use for whatever reason.
Military and some enterprise users have used the stuff for decades, primarily via smart-cards. (and yubikeys / fobs)
Devs finally started using some keys en masse when git and remote dev became popular.
But for straight up normal people? it's still an ongoing challenge.
The newish attempt is "passworldess" via "passkeys" (https://developers.google.com/identity/passkeys/ ) which are PKI under the covers, and quite neat. but ... kinda don't actually address the backup / long term loss of access aspect either unless you basically use a password manager like program/service AND back it up securely. AND don't lose the password (or biometric access ) to your password manager or its backup.