I have a serious gripe with synaptic:
1) counter intuitive UI. Not in the sense that you can't figure it out but in the sense that it disregards conventions. Think of the first time you used it, leftclicking a checkbox gives me a context menu? Selecting install tells me what it is going to install, and clicking apply tells me again? Not a showstopper, but definitely not the best first impression for someone new to the linux world.
2) Missing function. Why is there no "undo" or "rollback option"? It keeps a history of what it has done (file>history iirc) so why is there no option to undo the last install? Or better yet, why is there no option to just roll the system back to a particular point in time (obviously there could be issues with rollbacks that would require reinstalling a package that is no longer available, but other than that what would be so hard)? Wouldn't that be easy to implement? Or what about the search, why is it limited to very basic string matching? I realize it is basically just a front end for apt, but wouldn't it be nice if it could classify the kind of packages instead of mixing langauge support, developer tools, utilities, libraries, metapackages, main packages and so on into one nasty list that leasve the noob scratching his head and wondering which package to select to install the app? (of course this is assuming he has managed to figure out the name of the app he wants to install.) I realise this last point is a little unfair insofar as synaptic is built on top of a database that basically assumes the user knows the name of the package he wants to install, so perhaps I'm pointing out a limitation of the Debian repo system in general rather than just synaptic.
3) and this is the big one, I never know what it is actually doing. If I install a package and then turn right around and tell it to "uninstall completely" often there will be lots of dependencies that got installed with the package still installed: You can't just undo an install. This ties in to the no "undo" option. It would be so easy, it already keeps track of what was installed when, why not give an option to completely uninstall something, including all the dependencies that it dragged in? Better yet, I tried to install miro the other night. It installed a big list of dependencies, then threw an error installing miro itself (sounded like an offline repository). Now I have to go through and find the dependencies myself and manually uninstall them all. What a friggin PIA. (I suppose I will just drop back to apt-get autoclean actually but that sort of defeats the point of a gui, n'est pas?). Or how about when I unistall some package and it comes back and gives me a list of things that it is going to uninstall with it. What if i'd like to keep one of them around (even if it is technically broken)? Can't you give me an option other than okay or cancel?
Believe it or not I really like the debian package management system. I just wish 1) it had a slightly friendlier gui (i mean, it is a gui, it's meant to be intuitive and friendly) and 2) that it was a little more predictable. As it is I see very little advantage of using synaptic over the cli apt tools. Actually I prefer the cli tools because at least then I know what they are doing.
I suppose this is just a poorly worded rant, but any thoughts, or is it just me talking about something I don't understand?