Nielsen's top ten mistakes
posted an example of a 'safe' reset button
this is a good list to start with.
his 'bonus' mistake was something i'd not thought about:
Reset Button on Web Forms
This mistake relates to Web forms, but because so many applications are rich in forms, I'll mention it here: It's almost always wrong to have a Reset button on a Web form. The reset button clears the user's entire input and returns the form to its pristine state. Users would want that only if they're repeatedly completing the same form with completely different data, which almost never happens on websites. (Call center operators are a different matter.) Making it easy for users to destroy their work in a single click violates one of the most basic usability principles, which is to respect and protect the user's work at almost any cost. (That's why you need confirmation dialogs for the most destructive actions.)