This is not really a critical issue, but it is an important feature and should be done right nonetheless, so I will try to explain the reasoning in MDL-19563 in more detail.
It is clearest to the user to do the communicate just what has been attempted in the UI already, but do it all the way. This does not clutter the UI since there is nothing else in the UI, there is no reason to make the UI more simple than the functionality actually is. It may be even more confusing to some users if a single field is actually acting in two roles.
Heuristics of UI design (http://www.useit.com/papers/heuristic/heuristic_list.html):
"Consistency and standards - Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions. "
- Form fields take in one type of data. Allowing different types in one field is unconventional and unnecessary.
The UI makes the user make a selection between their username and their e-mail - the clearer this fact is communicated to the user, the better. I believe this is how the HTML elements were designed to be used in a situation like this: It makes sense to have two fields since these are two different questions to answer, in this case they are just alternatives. It makes sense that they have their own submit buttons since there are two different operations to trigger.
Combining the fields is a hack in terms of the UI logic and in terms of the underlying technology. This shows in the fact that validating the field becomes nontrivial if there is only one. If the user attempted to input an e-mail address but failed to enter '@', the form processing would supposedly decide the user tried to enter a username, since what they gave can not be recognized as an e-mail address. The user needs feedback, and if what they entered was not found, they would be even more confused should Moodle tell them that the username they entered was not valid.
The discussion this originated from:
http://moodle.org/mod/forum/discuss.php?d=123512#p546931
Mouli, thanks for your suggested improvement.
Just to confirm, if you enter a username and an email address in the forgotten password form, the message "Enter either username or email address" is repeated twice. I guess some javascript can be used to grey out one of the boxes.
Assigning to Eloy for consideration.