I formerly thought, "why would anyone want to use a GUI for Git? It's just a crutch so you don't have to use the CLI."
Then I started actually using SourceTree a bit. I've changed my tune considerably. I think there's great benefit to using a quality GUI for Git now even though you still need to use the CLI.
First, I became stuck in this intermediate user hell where I could do all the basic stuff but didn't know the commands or quite how to get it done. SourceTree allows a very good way to get that done right now with the understanding that you just executed a command under the surface. It allows to explore the capabilities of Git a little more than the CLI would and lets you punch over your weight in the meantime.
Second, I think having a high quality graphical representation of your Git tree in front of you helps you understand the structure of your tree and enables you to make more informed, better choices on the structure it takes.
Third, I like using it for pushes, pulls, and merges simply because this is the one place in Git I tend to make a typo and screw up data. Generally that's no big deal but once in a while you push something really dumb onto the origin remote and then feel really stupid about it. If it's yours one forced push and you're good but if it's collaborative, you can cause someone a major headache.
I do wish it were open source so I could rely on it going forward a little more but clearly Atalassian has a decent business model and they view this app as a great tool into it. It even has a nice cataloguing feature where you can throw in your Github and Bitbucket usernames and see all your online repos in a list. I find this nice when needing all my git stuff on a different computer than my primary.