I’ve always thought reset and cancel buttons on forms were helpful but this article on alertbox has changed my mind.
An example form
A form is a story, add a user and it becomes a dialogue. In a conversation, you wish you could hit the reset button sometimes, but you wouldn’t ever want to accidentally erase the conversation. Even long forms are easier edited than restarted, so why allow for even the chance for that form to be reset? Reset and cancel buttons are usually found near the submit/confirmation button which increases the chances of this.
Per the Alertbox study:
The Reset and Cancel buttons are the Web’s attempt at mirroring these features (the ability to undo in different ways), but users usually prefer to use the Back button instead when they want to escape from an undesired state.
If the form is too long and a reset button would then seem helpful, then this actually means simplify the form instead. Reset and cancel will just frustrate someone who just want to finish your form – she will accidentally clear it and have to start all over again.
Forms are hard enough, don’t make them harder with functions that are counter productive like this.