No one wants to have to remember a million usernames. At least your email is ensured to be available for use on every site you sign up on so it’s only one thing to remember.
In a few cases I generate nicks or totally random user names but only if the other users of the service see my nick/username.
In those services and in all the other ones I still have to give them my email to confirm the accounts and actions like replacing that email with a new one. Or login with OAuth, if one does that sort of things, which is back to giving our email to somebody else.
I could also be hit by a car, get cancer, have cosmic rays wipe my hard drive, etc. Getting permanently locked out of my email is an event so unlikely it’s not worth thinking about.
Happened to me recently due to a circular dependency issue between Google and LastPass.
Both of which I pay for.
Turns out losing both my laptop and my phone simultaneously was enough to lock me out of both forever - LP wanted me to click a link sent to my email to login from a new device, and said email account (GSuite) required a password stored in LastPass.
Sorry to hear that happened to you. I do remember losing my password for an old domain awhile ago, but I remember it being straight forward and giving me quite a few options to recover it (security questions, backup phone number to send 2FA codes, etc).
Maybe double check the "try another way" login options and maybe one of them will help you get back in.
But you have to remember a million passwords, or have a password manager remember them for you. (You don't just use the same password everywhere, right?) You could do the same with user names. Sites that use your email address as a login credential and also display your username to the public already separate the two, so there's no additional complexity there.