This is one reason I moved away from Ubuntu, other package managers don't have this problem. Is it unsolvable for Ubuntu/Debian? I don't know. I don't think it matters to most users. At least the users who have put up with "You must restart now" and "Make sure to close all other programs before continuing" for all these years.
See my above post. Not being able to install 2 unrelated packages at once is a legit criticism. The merits of Windows/OSX installation are irrelevant to that point.
Run an update of 60 packages, browse the internet while waiting for it to complete, find a .deb you're curious about and try to install it. You can't. Regardless of dependencies. Apt uses a global lock. That is bad UX, whether you acknowledge it or not.
How often, other than when you run the first large system update, is this a real issue?
I mean, I'm all for the *.deb to automatically queue when clicked, as that would be nice, but I do not see why I would particularly want it to mess with the system while the system is being messed with.
Also, I could always virtualise if I want the functionality of having an explicit split between system and userland.
Well, the criticism was in fact "you can't install software while updating your system," and it's true - if your system is updating, you have to wait to install another package.
In practice, I don't see this as a major problem, but on the other hand, many people have slower connections that me.
It'd be nice if the apt clients could download the packages without locking the database, and let you select and queue packages even if others are already being installed.
You can install software while updating your system, just not by using the same process that is currently updating your system and there is no particular distinction between software and system anyway.
A better apt queuing system might be nice admittedly, but if apt is installing software/updates with dependencies, then letting it complete before other software with their own dependencies are added, might be a good idea.
But you can always use one of the other myriad of ways to install software other than apt, while apt is running.