The UI is an important problem, but also the needless complexity and leaky abstractions. This isn't limited to version control either, but is pervasive in all programming tools (IDEs/editors, build systems, programming languages, platforms, etc.)
This is caused by extreme conservatism and dogma.
"GUIs are for noobs, CLI is better"
"Everything should be text like the Unix gods intended" (code in particular)
"Keyboard is faster than mouse"
"Autocomplete? That just causes you not to learn anything"
"Who needs semantic code navigation when you have grep?"
"WYSIWYG? Use markdown or latex."
"What's wrong with the web? This canvas API is so cool."
etc.
Wait.. we have a senior source control manager and we are using TFS. Sometimes clicking through the gui based wizards to merge two branches is to difficult for C# devs these days. His expertise in right clicking is truly remarkable. I fear for the day we move to distributed source control.
So, if the worst thing about this generation of source control systems is an unflattering UI... I think we have awhile until the next generation takes over.