Cause .tar.gz is not an executable binary in itself. It is more like a zip of the binary and its support files. Since it would be really difficult to distribute and maintain native binaries for every type of distro, application publishers used to just distribute for distros that has a larger userbase, like a .deb for Debian/Ubuntu and a .rpm for Fedora/RHEL/Suse, and then they would provide a tarball for any other distro. Flatpak and Snap have been introduced to eliminate this overhead from application developers, but they still offer tarballs as the newer solutions are still far from standardization.
I 100% get that (and I know it’s an archive), but I’m just saying why doesn’t double-clicking a .tar.gz just run “tar xf file.tar.gz | sh” on that file? Or check if there’s an executable in the extracted files and then run it if there is, and if it’s just an archive of files then open the extracted folder?
What if I don’t want to install it, even if there is a binary in there? What if I just wanna open the archive and see it’s content?
The OS does the smart thing. The header says it’s an archive, so we treat it as just that, an archive. Commercial OSes like Windows and MacOS are the oddballs out, not Linux. It just interprets the cold hard truth - this is an archive, I have no idea what’s in it, you tell me what to do with it, end of story.