(cd /mnt1 && tar cpXz .) | ( cd /mnt2 && tar xpzf -) 


Well, why exactly you using the "z" command line option there? It only slows down the copy in that case.
It would be useful however if you did something like
(cd /mnt1 && tar cpzf - .) | (rsh somehost '(cd /mnt2 && tar -xvpzf -)')

At least if the link between your computer and somehost is slower than FastEthernet. Anyway, back to the question you answered:

There are two possible answers actually. The first (and more common one) is the KISS principle that you explained. (KISS: "Keep It Simple, Stupid" or "Keep It Small & Simple")
The second one is the historical approach: The first tools on unix where small and simple, and the system evolved from there. So instead of hacking some additional code into an existing tool, unix programmers just created an additional tool that did just that one additional task. And this proved to be good decision. this way, the same archiving tool (tar) could be used with many different compression tools (compress .Z, gzip .gz, bzip .bz and finally bzip2 .bz2). But also, the same compression tool (gzip for example) could be used on bare files or with different archiving tools: ar, tar, shar ...
So the question remains: Where the tools small and simple, and followed the KISS principle from the very beginning, or where they small and simple and that later proved to be a good concept?

On a different question:
cc1 is one of the executables gcc uses during the compile process (along with the C preprocessor cpp and others).

cu,
sven
_________________________
proud owner of MkII 40GB & MkIIa 60GB both lit by God and HiJacked by Lord