Il postback avviene quando qualche webcontrol rinvia le informazioni al server per l'elaborazione, quando clicchi su button o linkbutton. In poche parole e più semplici, è il caricamento della stessa pagina la seconda volta e tutte le volte successive

Per controllare che la pagina richiamata sia per postback, è sufficiente da codice:
codice:
if Page.IsPostBack then
  ' pagina caricata dopo un postback
else
  ' pagina caricata la prima volta
end if
Il viewstate, come hai intuito, serve a mantenere lo stato dei webcontrol (stili, contenuto e altro) per tutti i postback di quella pagina.

Abbastanza chiaro?

Ciao