Here’s computer scientist Jim Gray on the purpose of buffering in a programming context, from his book Transaction Processing:

The main idea behind buffering is to exploit locality. Everybody employs it without even thinking about it. A desk should serve as a buffer of the things one needs to perform the current tasks.