Buffers são usados sempre que você precisar ... bem ... de um buffer. Como no significado literal da palavra. Eles são usados quando você precisa armazenar em buffer a entrada da saída. Existem inúmeras maneiras de usar um buffer. Existem buffers de portas lógicas digitais, que são passagens lógicas no sentido lógico, e há buffers analógicos, que atuam como passagens, mas para uma tensão analógica. O último está meio fora do escopo da sua pergunta, mas se você estiver curioso, procure 'seguidor de tensão'.
Então, quando ou por que você usaria um? Pelo menos quando o buffer mais simples e barato de todos, um fio / rastreamento de cobre está prontamente disponível?
Aqui estão algumas razões:
1. Isolamento lógico. A maioria dos buffers possui um pino ~ OE ou similar, um pino de habilitação de saída. Isso permite transformar qualquer linha lógica em uma linha tristada. Isso é especialmente útil se você deseja conectar ou isolar dois barramentos (com buffers nos dois sentidos, se necessário), ou talvez apenas um dispositivo. Um buffer, sendo um buffer entre essas coisas, permite fazer isso.
2. Tradução de Nível. Muitos buffers permitem que o lado de saída seja alimentado por uma tensão diferente do lado de entrada. Isso tem usos óbvios para traduzir os níveis de tensão.
3. Digitalização / repetição / limpeza. Alguns buffers têm histerese, para que possam receber um sinal que está se esforçando para ser digital, mas simplesmente não têm tempos de subida muito bons ou não estão funcionando bem com limites ou o que quer que seja, e limpam e transformam em um sinal digital bonito, nítido e com bordas limpas.
4. Isolamento físico Você precisa enviar um sinal digital além do desejado, as coisas são barulhentas e um buffer é um excelente repetidor. Em vez de um pino GPIO na extremidade receptora ter um pé de traço de placa de circuito impresso conectado a ele, atuando como uma antena, indutor e capacitor e literalmente vomitando o que quer que seja o ruído e a horror que ele deseja diretamente na boca aberta desse pino, você usa um amortecedor. Agora o pino GPIO vê apenas o traço entre ele e o buffer, e os loops atuais são isolados. Caramba, você pode até terminar o sinal corretamente agora, como com um resistor de 50Ω (ou qualquer outro), porque você também possui um buffer na extremidade da transmissão e pode carregá-los de maneira que você nunca poderia carregar um pequeno pino de µC.
5. Condução de cargas.Sua fonte de entrada digital é alta impedância, muito alta para realmente interagir com o dispositivo que você deseja controlar. Um exemplo comum pode ser um LED. Então você usa um buffer. Você seleciona um que pode dirigir, digamos, 20 mA facilmente, e você conduz o LED com o buffer, em vez do sinal lógico diretamente.
Exemplo: você deseja LEDs de indicação de status em algo como um barramento I2C, mas adicionar LEDs diretamente às linhas I2C causaria problemas de sinalização. Então você usa um buffer.
6. Sacrifício . Os buffers geralmente têm vários recursos de proteção, como proteção ESD, etc. E, muitas vezes, não. Mas de qualquer maneira, eles agem como um amortecedor entre algo e outra coisa. Se você tem algo que pode experimentar algum tipo de condição transitória que pode danificar algo, coloque um buffer entre essa coisa e a fonte transitória.
Em outras palavras, os chips adoram explodir quase tanto quanto os semicondutores. E na maioria das vezes, quando algo dá errado, os chips explodem. Sem buffers, geralmente qualquer transiente que esteja estourando os chips para a esquerda e para a direita alcançará profundamente seu circuito e destruirá um monte de chips de uma só vez. Os buffers podem impedir isso. Eu sou um grande fã do buffer de sacrifício. Se algo vai explodir, eu prefiro que seja um buffer de 50 ¢ e não um FPGA de $ 1000.
Esses são alguns dos motivos mais comuns que eu conseguia pensar de cabeça para baixo. Tenho certeza de que existem outras situações, talvez você obtenha mais respostas com mais usos. Acho que todos concordam que os buffers são muito úteis, mesmo que à primeira vista pareçam inúteis.