Os logs são arquivos de texto (como) e são desse tipo, acrescentando novos blocos de disco a eles quando são exigidos por novas linhas é uma ação rápida bem suportada por qualquer sistema de arquivos.
No entanto, constantemente abandonando a primeira linha quando um novo está chegando significaria reorganizar pelo menos alguns, se não todos os blocos do arquivo CONSTANTLY. Isso significaria uma grande sobrecarga dedicada ao registro em log, enquanto uma das características mais importantes que queremos do registro é que ele é leve.
Os sistemas de arquivos não estão preparados para isso (pelo menos eu não ouvi falar sobre este tipo), é por isso que o registro logrotate / tail / database-backed é usado onde os últimos registros são importantes.