It's hard because nobody thinks of it as a part of their job. Like coding is to some people, git is often a thing that you just have to do.
So then you don't learn how it really works, and you get weird problems because you never formed the right model in your mind.
It's also the case that there's a few commands you use a lot, but a lot of commands that you reach for only in specific cases. This creates the impression that it's too complicated, because as soon as you go off road you get stuck.