git is bloated, and certainly anything but simple. It's also arguably stupid in a lot of ways.
git is fast, though, and that's one of the main reasons it won over other version control systems which were a lot more elegant and easy to use.
Git is quite elegant underneath the terrible UI.
There was a really good talk given by one of its lead developers about why it failed, called "Remedies for Frustration".[1]
It's well worth reading (make sure to read the slide notes, not just the slides themselves!) and has some great lessons about how the aversion to "premature optimization" can lead to the ruin of a product (in this case, of bzr, which had an elegant UI, but was too slow to compete with git).
[1] - https://docs.google.com/presentation/d/1awg1CHM1w128iOBp_JOx...
Also, the internal git model is elegant. Having used bzr for years, I never understood its internal model.
Magit certainly makes working with git easier and faster, and combined with the power of emacs it makes for a very powerful tool. But it has still been very far from simple or elegant for me, once you get beyond the basics of what git can do.
I personally see this as a design problem with git, which a tool like Magit can mitigate but not solve.
Amen. I have to confess that I actually prefer Mercurial to git; it just feels simpler to use.
Then again, I'm also of the heretical position that if you don't need the distributed parts of a DVCS, you should use SVN.