The csh shell, from which bash got a few features, uses .login as the name of the shell startup file to run when starting a login shell, just like ksh, another shell that heavily influences the bash shell, uses .profile as the startup file for login shells.
Therefore, .bash_profile borrows its name from the ksh shell's .profile file, while .bash_login borrows its name from the csh shell's .login file.
The user uses .bash_profile or .bash_login depending on from what other family of shells (ksh-like shells or csh-like shells) they are migrating to bash from.
Obviously, nowadays, many Linux users have never used another shell than bash, so whatever filename they use will more likely depend on the preferences of their system administrator, of their teacher, or it may be random chance.
If both ~/.bash_profile and ~/.bash_login exists, then the ~/.bash_login file will be ignored.