Simplified explanation
In the sense you mean, a buffer is nothing more than a zone of memory where one process deposits values and from which another process retrieves them.
For example, a frame buffer is a piece of memory where p.e. your program constructs a representation of the screen (as it wants it to be) and which is subsequently "transferred" to the actual video memory, by the same or other function, system call or actual hardware.
The same for the keyboard buffer: the system software responds to physical key presses/releases by reading the keyboard and storing a representation in a buffer which afterwards is read by other system processes or applications (in a Pascal program, with ReadKey, v.g.).
Note that buffer, in a extense sense, is also used to name almost any region of memory dedicated to this or other kinds of process communication: file buffers, string buffers, stream buffers, etc.
Just think of what the word buffer means IRW and apply it to computer programs' behaviour..