Basically Apple's equivalent to ELF. I personally think the multi-architecture support via fat binaries is really neat and I kinda wish Linux adopted the format so we could use one binary for multiple architectures.
I don't like being cynical like this, but Linux can't even sort itself even on a single architecture: glibc (with the whole versioned symbol mess), musl variants, and so on, before we even consider shared libraries and package managers. Despite all the hard work of so many people, if you aren't running Ubuntu on x86-64, you will very quickly run into real problems running any kind of third-party software.
It can be difficult depending on your ecosystem, but often you can; when I said I'd like multi-arch fat binaries I was specifically thinking of Packer (and most Hashicorp products, actually), which distributes as a nice static binary per architecture right now. Also musl is quite friendly to static linking.
FatELF exists, though not widely used, and would make more sense than adopting Mach-O, which has worse tooling than ELF. Because of tooling, it'd be preferable for Apple to switch from Mach-O to ELF in fact (though they won't do so, because that would require a lot of work and Mach-O is working fine for them).