You can also login with your profile name, which I didnt know until very recently when I mistakenly dropped the @domain.com and was initially surprised to find it worked.
That only works if you actually change your profile name to something meaningful like facebook.com/yourname. A lot of people don't do that (they have an autogenerated id) and in that case the email is mandatory.
I should also note that you can only change your profile name, i.e. facebook.com/profilename, twice. That is, going from something like facebook.com/profile.php?id=34534643 to facebook.com/profileName1 to facebook.com/profilename2. After that Facebook won't allow you, for some reason.
Also, phone number works too if you have it listed (possibly cell-only).