From the man page:
agetty opens a tty port, prompts for a login name and invokes the /bin/login command. It is normally invoked by init(8).
But if you run login without any argument, it asks a username. So why not let login do the job of asking the username, instead of doing it inside agetty (also, if your login fails, login will ask you your username again)?
It just seems redundant to me. I thought agetty's only job would be to call login repeatedly (because login exits after a certain number of tries).