The login flow you propose is:
- User logs into site with username and password.
- A link is emailed to user's registered (and presumably verified) email address.
- User clicks on link to complete login process.
While you don't describe it, a typical password recovery flow is:
- User asks to recover password.
- They must provide some combination of email address, username, answer to questions, etc...
- An email is sent to user's registered email address with a password reset link or a temporary password.
If you use this it means that getting access to a user's email will allow an attacker to reset the password and then successfully execute the login workflow. This is no better than the standard login and password recovery scheme so don't waste your energy on it.1
If you do not use the email for password recovery, then I think this solution provides some additional security, though it is debatable how much. And all it is saving is the hassle to the user for having to type in a code sent to them in SMS or via a mobile authentication app.
You don't specify the properties of the login link. It should be the case that it only works if the user opens that link in the same browser that they started the login process in. If it would work in any browser, then the link would be all that is sufficient to actually break into the user's account.
It is actually a tiny bit better as an attacker who has only a brief, 1-time access to the user's mailbox can't break in. They need to access it twice: once to reset the password and once more to click the login link. So requiring two emails will help in the unlikely event that the attacker only has enough time to work through one of the workflows before losing access to the victim's email.