Вы хотите небуферизованный вывод для интерактивных задач. Под этим я подразумеваю, что вы не хотите, чтобы вывод застрял в каком-то буфере, когда вы ожидаете, что кто-то или что-то еще ответит на вывод.
Например, вы не хотите, чтобы пользовательские приглашения, отправленные в STDOUT, были буферизованы. (Вот почему STDOUT никогда полностью не буферизуется при подключении к терминалу. Он буферизуется только строкой, а буфер очищается при попытках чтения из STDIN.)
Например, вы бы хотели, чтобы запросы, отправленные по каналам и сокетам, не застревали в каком-либо буфере, так как другой конец соединения никогда бы его не увидел.
Единственная другая причина, о которой я могу думать, это когда вы не хотите, чтобы важные данные помещались в буфер в случае неисправимой ошибки, такой как паника или смерть по сигналу.
Например, вы можете оставить файл журнала без буферизации, чтобы иметь возможность диагностировать серьезные проблемы. (Вот почему STDERR не буферизируется по умолчанию.)