Darvond: How about a tar.gz?
tar and gz are two separate operations, that just happen to be used together.
gzip is a compressed file format that, by itself, is limited compared to the likes of zip or 7z, in that it can only compress one file.
tar is a file archive format; it allows multiple files to be combined into one. (One trick I read about somewhere; if the files you want to transfer are barely unable to fit on a formatted USB drive, you might be able to tar up the files, then transfer the archive to the device file directly (using something like dd, though cp to a device file also works), and transfer them that way.) Notably, it does not compress its data.
tar.gz, then, is really a compressed tar file; gzip sees the archive as a single file, so you get something like block compression. This behaves more like 7z than zip, as I believe it's not easy to extract just one file from the archive, but it does give good compression when the files are similar.
One other interesting compressed format found on Linux is the squashfs file system. It's like a zip in that individual files can be extracted easily (in fact, it's designed to be mounted as a read-only filesystem), but I believe it finds blocks common in multiple files and dedupes them. (Note that this form of de-duplication is not as resource intensive as zfs's approach, as zfs (with dedupe enabled) has to compare each new block to be written while the file system is mounted, while squashfs doesn't bother with that.)
One use of squashfs is, in a Gentoo system, storing the portage tree there. The portage tree consists of a large number of small files, enough so that an ext2/3/4 filesystem that looks like it should be big enough to store the triee might not have enough inodes (by default). squashfs handles that case nicely, and it does compress the inode data as well.