Crash recovery and the buffer cache
If you had to write out every database change to disk immediately after it's made, the database performance would really suffer. This is particularly true on blocks that you change all the time, which would then be written very often. But you have to be able to recover if the server crashes before things are written out completely, too. Periodic database checkpoints take care of that.