Buffering is when you insert inputs before the intended action is supposed to happen.
So, assume a certain game has a really generous buffer time (like 5 seconds).
You can mash out 6B 22BBC 66C 22BBC 66C 22BBC 5D 2D 236D or w/e all at once out of time.
But the game would automatically work out all of those commands in order as long as it perceives them as linkable set of commands.
BBCS naturally, isn't generous enough to give you 5 seconds, but there's probably some level of buffering at work, which apparently is good enough that you can enter 66C a little bit before 22C completely finishes, letting you instantly microdash and do the C move and continue the loop.
When I said "lag", I meant the frames (time) you spend doing a move before you can do anything else again.
Finally, the easiest way to think about buffer is probably this: Tager. Tager can jump forward, and before he lands, he can input the 360 command while still in his jumping animation. Then, timing it right, he'll press A near the end (with the 360 motion close enough), and do an A buster at exactly the moment he lands.
Buffering basically lets you input commands during the "lag" or frames of other actions, so all you do is press the button at the right time and the move, even with complicated commands, will come out right away.
The simplest example though, is Lambda. When you use her 5DD, you don't press the second D right at the time the first D finishes, you just mash 5DD quickly, and the game automatically reads it and does a tech proof link automatically.