O comando grep não necessita receber o texto de log do cat. Se você ler o manual do grep verá que ele aceita o arquivo a ser procurado como argumento.
grep [OPTION...] PATTERNS [FILE...]
Que no script mostrado na aula seria:
grep $1 apache.log
Dessa forma vocẽ economiza alocação de memória e faz com que seu script rode mais rápido, pois somente usa um comando ao invés de dois.
Imagina o tempo ganho em um log gigantesco.
Além disso, não é considerado uma boa prática ficar usando cat para enviar o conteúdo de arquivos para a stardard input (entrada) de outros comandos.