It is the event before the page is actually displayed on the screen. Or more technical, it happens BEFORE the render method gets called which creates the HTML code using the HtmlWriter. What's intersting is, that the viewstate isn' t updated and stored yet. Viewstate is the state of the webpage. If you need to change/update something which has to go into the viewstate, you should do this in the prerender event handler. If you do this after the render event, it will not be written to the viewstate, since the viewstate gets written just after the render event occurred.
Use this event to perform any updates before the server control is rendered to the page. Any changes in the view state of the server control can be saved during this event. Such changes made in the rendering phase will not be saved.