I guess my confusion stems from my understanding that at the bottom line, all files could be reduced to binary - and thus considered as such.
Is that in error?
Technically, you are right... everything is really binary. But in Linux... what we really mean is...
was it compiled with a compiler? ( C, C++, Rust, Java, etc..) or it is text like file meant to be ran by an interpreter?
Bash, Python, Perl, etc...
Now these are files that do something, run something or change something.
Then you have static files. They don't really do anything they are just data.
This could be a text file.
Bash, python, perl, text, these files are really just ASCII text and they compress pretty good.
mp3's, jpg's, gif's, mp4a's, ... these are also staic files. They don't do anything on their own. They are just data.
You need a graphics program to view them, run them or listen to them (as the case may be).
Typically these files are already compressed pretty well.
There are several different compression algorithms and some compress better than others.
It's possible you might get slightly better compression... but then they wouldn't be compatible with your application that uses them. You would have to compress and uncompress everything you used that file. It's a lot of work for hardly any gain.
Normally in Linux, you just compress text files, (bash, python, source code, perl, etc..).
I don't really remember how I learned this, or when.. but it's been that way for a very long time.
Even in the Windows world, compression programs can't compress gifs, jpegs, or mp3s. (at least not very much).