What is the difference between Prebuild & Postbuild events and Saveprechange&SavePostchange?

Prebuid can be used to validate your search data, discarding rows.  Postbuild can be used to play with the pages (hide, unhide).. filling up scrolls.. 

Saveprechange is the last event where you can validate and correct ur data before updating the database. 

Once it is done, database will get updated. Savepostchange will be used to play with tables which are not present in ur component buffer.