The existence of zip, and especially rar files, actually hurts me. It's slow, it's insecure, and the compression is from the jurassic era. We can do better
One thing I didn't appreciate about English until reading a Europe forum for a while is that it has a lot of different prefixes that mean something like "not", and this is not very intuitive to people learning the language. Their use is not regular.
Consider:
"a-" as in "atypical"
"non-" as in "nonconsentual"
"un-" as in "uncooperative"
"im-" as in "immortal"
"in-" as in "inconsiderate"
"il-" as in "illegitimate"
"mal-" as in "maladjusted"
"anti-" as in "anti-establishment"
"de-" as in "deconstruct"
And sometimes, some of the prefixes are associated with base words to form real words with similar meanings, but meanings that are not the same. For example, "immoral" and "amoral" do not mean the same thing, though they have related meanings.
Zip has terrible compression ratio compared to modern formats, it's also a mess of different partially incompatible implementations by different software, and also doesn't enforce utf8 or any standard for that matter for filenames, leading to garbled names when extracting old files. Its encryption is vulnerable to a known-plaintext attack and its key-derivation function is very easy to brute force.
Rar is proprietary. That alone is reason enough not to use it. It's also very slow.
It's a 30 year old format, and large amounts of research and innovation in lossy audio compression have occurred since then. Opus can achieve better quality in like 40% the bitrate. Also, the format is, much like zip, a mess of partially broken implementations in the early days (although now everyone uses LAME so not as big of a deal). Its container/stream format is very messy too. Also no native tag format so it needs ID3 tags which don't enforce any standardized text encoding.
At both algorithms' highest levels, xz seems to be on average a few percent better at compression ratio, but zstd is a bit faster at compression and much much faster at decompression. So if your goal is to compress as much as possible without regard to speed at all, xz -9 is better, but if you want compression that is almost as good but faster, zstd --long -19 is the way to go
At the lower compression presets, zstd is both faster and compresses better