Consider this scenario:
You have a form which submits to itself (e.g. a simple contact form). The first time it loads you don’t want to do anything other that render the form.
However, when a user hits “Submit”, you want to process whatever data you have received, then re-render the form, including (for example) error messages where appropriate.