A buffer pre loads a certain amount of data so that if there is an interruption in the stream feeding it, the buffer has enough data to keep a continuous stream.
The trade off is that the smaller the buffer is the faster your system needs to be but you get less latency, with a large buffer you...