For a web application, which is the better option?
Usernames has to rely on an email for the person to recall later. Conversely, it's rare for a user to use multiple usernames for a particular web application. Also, sending details back to the user's email gives a certain level of security.
Email on the other hand has additional related problems - Most users have multiple email ids and invariably multiple accounts get created. Merging those accounts become a huge headache. Conversely, using an email as a login identifier has the advantage of external authentication via OpenID.
What would you suggest?