Basicamente, porque o Apache não foi criado para isso. O problema é o uso da memória do servidor. Em muitas configurações, a geração de conteúdo é feita no mesmo processo que a entrega de conteúdo, portanto, cada processo crescerá até o tamanho da maior coisa que ele manipula. Imagine um processo se expandindo para 64 mb por causa de um pesado script php, e então esse processo inchado está parado e servindo arquivos estáticos. Agora multiplique por 100. Além disso, se houver vazamentos de memória em qualquer lugar, os processos crescerão sem limite.
As configurações de keepalive devem ser balanceadas com base no tipo de seu conteúdo e seu tráfego. Geralmente, a configuração ideal tem MaxKeepAliveRequests alta (100-500) e KeepAliveTimeout baixa (2-5) para liberá-los rapidamente.