<p>As a primarily Windows developer, perhaps I'm missing something cultural in the Linux community, but it has always confused me.</p>

<p>When downloading something that the files are first put into a <code>.tar</code> archive then <em>zipped</em>. Why the two-step process? Doesn't <em>zipping</em> achieve the file grouping? Is there some other benefit that I'm not aware of?</p>

```
bzip
```
and
```
gzip
```
work on single files, not groups of files. Plain old
```
zip
```
(and
```
pkzip
```
) operate on groups of files and have the concept of the archive built-in.
The *nix philosophy is one of the small tools that do specific jobs very well and can be chained together. That's why there are two tools here that have specific tasks, and they're designed to fit well together. It also means you can use tar to group files and then you have a choice of a compression tool (
```
bzip
```
,
```
gzip
```
, etc).