I'm primarily a Windows user, having just recently installed Ubuntu onto a netbook. Obviously I'm carrying old habits and baggage, but from my point of view, finding and installing stuff in the repository is a nightmare.
On one hand, I can see how putting it there makes a unified update system possible.
But the system does nothing for me in helping me discover what I need. To learn of the existence of a tool, I still need to stumble across it from a user recommendation or web search. From there, in Windows I just download and install.
But on the Linux platform, I get lost in all the various repositories available, each of which has multiple levels (I forget them specifically, but I remember something about "universal"?). And god forbid that the necessary repository isn't one of the standards (as I had to deal with when installing XBMC); finding and setting up the public keys is like root canal.
The flip side of this, uninstalling software, I haven't figured out at all. It seems that doing so doesn't actually delete the deadwood, but I happened somewhere on a command line way to tell it to clean up. I remain confused about how to specify precisely which packages to uninstall. The way they're built into dependency blocks, with optional recommended pieces, on the installation side is great. But I don't see at all how to determine the root package of something I don't want anymore, so that all the children are removed as well. And I really don't get if or how it determines which shared, possibly optional packages, will stay or go.
So I think that this is precisely what the OP is referring to. As a developer I can appreciate the benefits of the Linux repository system. But as a user of it, It's hideously unfriendly.