Os sistemas de arquivos precisam armazenar tamanhos de arquivo (em bytes ou em algumas unidades dependentes do sistema de arquivos, como setores ou blocos). O número de bits alocados para o tamanho é geralmente fixo quando o sistema de arquivos é projetado.
Se você permitir muitos bits para o tamanho, cada arquivo ocupará um pouco mais de espaço e cada operação um pouco mais lenta. Por outro lado, se você permitir poucos bits para o tamanho, um dia as pessoas reclamarão porque estão tentando armazenar um arquivo 20EB e seu sistema de arquivos porcaria não permitirá.
Na época, os sistemas de arquivos mencionados foram projetados, tendo um disco grande o suficiente para atingir o limite soava como ficção científica. (Exceto o FAT32, mas a empresa que o promoveu o pretendia ser uma medida intermediária antes que todos adotassem seu novo e brilhante NTFS, além de nunca serem muito bons em antecipar requisitos crescentes.)
Outra coisa é que até o final do século passado, a maioria dos hardwares de consumo (e até servidor) só conseguia acomodar computação rápida com valores de 32 bits, e os sistemas operacionais tendiam a usar valores de 32 bits para a maioria das coisas, incluindo tamanhos de arquivo. 32 bits significa 4 GB; portanto, os sistemas operacionais tendem a se limitar a arquivos de 4 GB, independentemente do sistema de arquivos, geralmente até 2 GB, porque usam números inteiros assinados. Atualmente, qualquer sistema operacional sério de desktop ou servidor usa 64 bits para tamanhos e compensações de arquivos, o que coloca o limite em 8EB.