Yes, I agree. It is problem of implementation. But nevertheless it is a problem. I didn't tried namespaces myself, but I'm pretty sure that to do in in Linux it would be harder for me to get it to work. Even if I became familiar with namespaces.
Multiuser model is settled, simple and transparent model, that just work. You have abstraction of user and abstraction of file access rights, and it is all that you need.
namespaces have no such a simple model. How can I run program from other user but give it some special rights to access this git-repo in my home directory? Do I need to write a special C-program for that? Or maybe existing tools already can be configured with some obscure xml-file? I do not know, and maybe I'm mistaken, but knowing the general laws of linux software development, I guess that the best software for it I can find is a complex overengineered corporative tool with bells and wistles, and the easiest way to use namespaces in my case is to write C-program. (If I'm mistaken, please, correct me at least by stating my mistake aloud, or better point me to a docs, please.)
And here we came into real issue. To write a good C-program for my tasks, I need to start thinking as a software designer, to invent new simple model of process separation, that allow me to solve 90% of my tasks with ease, and the rest with some headaches, but everything must be possible. The only way to do it in a week is to refuse to think, and to replicate multiuser model on top of namespaces. But I need no replica of multiuser model because I have an existing one. What the point of discarding multiuser model, just to move to another implementation of multiuser model?
The only good thing I see is a lack of need to log into a root shell to create or delete users and groups. It would be nice, but I'm not ready to spend a week to write a C program and then unknown amount of time to maintain that program, just to stop using su/sudo for such tasks.
So, I can agree that multiuser model is bad for a linux desktop. But we have no real alternative. And the mobile OS approach is the worst. It reminds me of DOS, where you can work with one process at a time, where you cannot run two copies of a program, where all is done in the single global namespace, and any process can do anything it wants. The only choice you have is "to run program or not to run".