If there is no social element to a web app, should the user be asked to create a username during the sign-up process? Is username creation a pointless extra hurdle, or does it serve a purpose?
I favor using an email address and password for authentication (i.e., registration/login) rather than a username and password.
There are a couple reasons for this:
Of course, there are other ways to handle user authentication, such as using Open ID, Google, Facebook, Twitter, etc. If you use any of these solutions, you have much less to worry about, since you are just biggypacking off of an already proven solution.
But in a word, yes, user names are redundant for non-social sites. And even with social sites, you don't need user names. You can just allow users to choose a (non-unique) screen name/nickname that has no role in authentication/log in (such as this site--User Experience--or any of the other Stack Exchange sites).
(A note on StackExchange: every user is given a unique number when they first sign up. You almost never need to interact with this number and may not even be aware that it exists, but it's there in case you change your method of authentication.)