According to
man gzip:
"If no files are specified, or if a file name is "-", the standard input is compressed to the standard output."
Em todos os seus casos, você canaliza o fluxo de origem para STDIN de gzip sem especificar conteúdo para compactar como um arquivo de origem. Nesses casos, gzip envia o fluxo compactado para STDOUT por padrão, o que torna a opção -c inútil / redundante.
A opção -c é útil quando você chama gzip as gzip -c sourceFile so, neste caso, em vez de compactar sourceFIle + adicionando a extensão GZ + excluindo sourceFile
Ele enviará fluxo compactado para STDOUT e não excluirá sourceFile .
Por exemplo:
gzip -c sourceFile | anotherProgram