Forms can also contain hidden fields, ones the user can't change. There are reasons for hidden field, for example..
Or, you may have lots of forms on your site and you want to identify which form was used, you could use something like this <input type="hidden" name="what form" value="General Contact Form">
There's no need for the user to see or change those fields but we might find them useful so we hide them :)
There are arguments for and against having a reset button. The worst one I heard was "if you have a reset button the visitor might change their mind about sending the form - limit their choices!" - well personally, I think if someone changes their mind they will change it with or without a reset button. By providing a reset button you give the user piece of mind that the info they entered has gone.
Consider your user at all times :)
The submit button does exactly what it says - it submits the form using the chosen action defined in the form tag.
Finally we'll look at using forms in tables.