I often use a GUI for staging, especially when staging chunks, because of the convenience in having a diff view immediately available. And of course for browsing a repo. I usually do most other operations from the command line.
As for usability and aesthetics, the GUIs included with the git distribution are pretty terrible, but there are several other alternatives. As a Mac user, I prefer GitX for it's simplicity and unobtrusiveness. Atlassian's SourceTree is also nice and free for Mac and Windows. SmartGit/Hg from syntevo is available for all three main platforms, and is also good. However, that tries to hide away a bit too much of the git internals, so workflow wise it feels too different from working at the command line.