I switched from Windows to Linux before I had a smartphone and appreciate the package manager. I got a Macbook for work and lamented the lack of package manager (homebrew is a weak substitute in several ways).
Macs have the App Store, which works well for GUI programs. On the CLI side I have played with Brew (and Fink a long time ago), but I prefer MacPorts because it feels more solid (at the expense of not having all of the bleeding edge stuff.
Ah, yes, but my package manager covers every piece of software I use. No specialized update services. It seems like a small thing, but it's more pleasant.
And if it doesn't cover software you use, then it sucks to be you. Or if you want to install an application to a different disk. Or if you want to have two different versions of an application installed. Or if you want to use an application that relies on dependencies your package manager has decided are incompatible. The package management paradigm has its own set of limitations and flaws.
I've really not had any issues finding what I need for Arch Linux.
If you want to install to a different disk, you could still install the raw binary, or mount a directory in your applications directory.
Those are just hard situations in general. I'm a big advocate of statically linking anything possible, because I have disk space galore and dependencies can be a pain as for your last point.
They aren't hard problems at all. Even DOS handled them with ease. The problem is that the culture of application development around systems with package managers doesn't consider these use cases at all, forcing you to jump through a bunch of hacky hoops to do deal with them. Case in point: symlinking or mount-based tricks because developers hardcode paths.
Having multiple versions of dependency libraries was a pain on DOS, Windows, ... It just is what it is. For the record, you can have multiple versions on any OS, but it's important they have a version in their name and that the dependent application is aware of that convention.
The specifics of path layout is just how Unix-like systems do things in general. It's not all that different on MacOS.
If you really like the filesystem layout of Windows, just use Windows. If you really like `exe` files, just use Windows. I don't see the problem.
Show me an implementation that doesn't have these problems, because I've yet to see one. That's not surprising though, since once you've solved these problems you don't need a package manager.
For a long time you did not need a package manager or installers or anything like that on Macs. Just drag the application to your Applications folder and it was installed. I was always skeptical of Mac software that came with an ‘installer’. Like, what on earth is so complicated that the developer thought he needed a separate executable merely to copy the application over??