The best resource for understanding git (or probably bzr/Mercurial) IMO is definitely "The Git Parable" [1]. It takes you through the steps of what you'd do to create a DVCS. This teaches you the concepts, without worrying about the commandline.
Once you understand git, the man pages, docs at kernel.org and cheatsheets are a much easier read. My go-to cheatsheet is now [2], which is actually more of a visualization of commands to use to move between git's different areas.
I must admit, I still need to Google every now and then for things that are counterintuative in git (e.g. removing a submodule) and normally end up on StackOverflow.
easygit is git with sane defaults and better error messages. It uses real git commands, so you don't need to unlearn anything when graduating to git. It has extra sanity checks (like checking for unstaged changes when committing). The help messages are more verbose and use more consistent terminology than git's man pages. For example, easygit always uses the term "staged" instead of "index/staged/add/hard/soft/mixed/cached/HEAD/etc." And `eg revert` behaves the same as Perforce, SVN, and Mercurial revert.
1. You're right, it's confusing when coming from a Subversion background.
2. It makes sense when you realize that 'switching to a different branch' and 'reverting a file' are both operations that make your working copy (partly) match a branch, be it a different branch or just your current HEAD.
Git is full of stuff like that. Once you get the fundamentals down it all starts to make sense.
It's a poor UI even for people like me who have never used SVN. Understanding how something works after having learned it is not a sign of a good UI, a good UI facilitates easy learning by having commands do the thing you'd expect them to do, so far as that is possible.
The fact that file checkouts and branch creation shares underlying mechanics have nothing to do with the UI, it'd make a lot more sense to create new branches with for instance the git branch command, and checkout files with the git checkout command.
Having said that, I don't think the git UI is horrible at all. I found learning the basics of git rather easy, that doesn't mean the UI can't be improved on further, though.
'Pro Git' is a fine resource, but it is pretty intense for beginners. When I started, I just wanted to check something in. I've found the 'Pragmatic Guide to Git' to be the best reference for getting things done. It has a fantastic organization that sends you exactly where you need to go and lots of examples to perform the most common tasks.
I absolutely recommend it! It's great. Read it online from the link provided by the comment below or buy the book, what ever suits you best.
I also recommend to heavily use gitk while learning, just use it to see what happens after you do something in your test repositories. It's very enlightening.
http://www.gitguys.com is a new resource for people wanting to learn git. It has lots of diagrams that step through changes in the index, working directory, git object store, etc.
To find the one that helps them the most? Not everyone learns in the same way, and not everyone teaches in the same way. The more choices you have, the more likely you are to hit on the one that lets you really grok something.
Git internals PDF (Scott Chacon) http://peepcode.com/products/git-internals-pdf
"Getting Git" screencast (Scott Chacon) http://blip.tv/scott-chacon/git-talk-4113729
Interactive Git cheatsheet (Andrew Peterson, NDP Software) http://www.ndpsoftware.com/git-cheatsheet.html