The buffer's function is give room for a temporary storage of the data coming from unit in a situation where the other unit is not ready to receive the data. The buffer holds these data for a while and delivers them as soon as the recipient is ready to receive them.
Buffers are for instance used: In the controlling logic of chipsets, where many units communicates simultanously via the PCI bus.
In CD-ROM burners you need a very constant and steady streem of data to produce a good CD-R. The drive will typically hold a cache (a buffer) of 2 MB, which secures the constant datastream to the drive.
The diskcache is also a buffer, which provides the optimal bandwidth between the hard disk and the motherboard (or rather between the RAM and the disk controlling logic).