tar изначально был сделан для упаковывания файлов и каталогов в ленточный архив (одним потоком).
gzip это потоковый архиватор, он не знает про файлы, он пакует поток. На ходу. Быстро. Он не анализирует файл целиком, поэтому алгоритм, который используется в gzip, сейчас используется практически везде (в модемах, в сетевых карточках и так далее).
исторически сложилось так, что для упаковки с компрессией нескольких файлов, использовали связку tar+gzip, что стало стандартом де-факто.
В современном мире, стандарт бывает важнее нескольких процентов сжатия, поэтому .tgz - вполне популярное и надежное решение, которое будет работать на любом линукс. А вот zip есть далеко не везде. Вы видимо не сталкивались с урезанными версиями линуксов в embedded, да и даже в RHEL7 в стандартную поставку он не входит, надо ставить отдельно.
Ну и напоследок - tar умеет хранить posix права доступа, а zip или rar - нет. Поэтому .tgz формат еще надолго останется с нами.