Different processes running at the same time must not interfere with one another. This means they have to use different parts of the computer’s memory.
The OS handles the transfer of data between processes. This is done by setting aside areas in memory where data values can be shared.
The OS uses buffering to set aside memory for the temporary storage of data. A process may output data and leave it in the buffer. This means that processes can each get on with their jobs at their own rate. It is only when the buffer is full that processes will need to wait.
Buffers are also used when you stream online content.