I believe this.form.reset is in fact resetting your form, but the trouble is, when the "Quote List" button is pressed, to call the controller action showList, this is SETTING your values on the page to their variables in the controller.
Form is blank (text value in controller empty)
Enter text (text value in controller empty)
If you click reset here, the text area will be reset to nothing.
If you click Quote List here, then as a commandbutton this will SUBMIT your page to setValue() and it will put "hello" into value.
Therefore, the page, still looks like this
but now value = "hello" if you click "reset" the HTML form is in fact reset, but TO THIS value. If you alter the text area (no page reloading has been done) to be this:
and then click Reset.. it will reset the field:
Therefore the problem is not with the
not working, it is to do with what the QuoteList button is doing to the state of the page/controller values.
One way to beat the submission problem would be to remove the "action" attribute from the second button, Quote List, and instead use it to reRender a block of the page, in which you can re-trigger getters to load new lists of items, if this fits your functionality?
So your snippet in the question could become something like:
<apex:commandButton value="Reset" onclick="this.form.reset();return false;" />
<apex:commandButton value="Quote List" rerender="redrawArea" />
You then have your logic in the getValue() method (remembering best practises about what should go in a getter of course!).