HTTPS URLs are inconvenient for private repositories, and username has to be part of SSH URLs that people share when setting up a submodule or linking to a repository.
No? Usernames are optional in SSH URLs.
Which isn't always in sync with their GitHub username. Which might even be "root".