Probably the two most powerful features of git are its distributed nature and branching. Branching is a very old concept, but git does it exceptionally well.
A short note on distributed version control. Traditionally, there'd be a central server that people would check code out from and check changes into. Often you'd have to put a lock on the code to avoid conflicts coming from two people trying to modify the same code at the same time, which can happen, for example, if they both need improvements to a utility module that's shared between their work assignment codes.
Git is different in that your true repository is the checked-out project itself. You can do all your work locally and only need to contact a central server when you want to either obtain a project, get updates from others, or check your own changes in. Everything else is completely offline, which can be a major help if you're Devaka Cooray in Sri Lanka, and electrical power is prone to frequent outages and Internet connectivity even more so. That was a major concern about 2 years ago to the point where he set up
solar power and did other things. Hopefully things are better there now, but the important fact was that he could do most of his work unaffected by these inconveniences.
Revisions are committed atomically, so no broken stuff. It's "all or nothing". When you are ready to push your changes back to the master repository. those changes likewise get applied atomically. Also note that there's not necessarily just one remote repository for a project. You can designate more than one remote code host and push to whichever one suits you. A nice feature, but best used sparingly.
Finally, note that commits don't have version numbers like older systems such as Subversion did. Instead, each commit has a hash code that makes it distinct so that the git repository doesn't have to worry about getting the same commit twice or having contributors commit back out of sequence. And an additional note is that since this plan doesn't require locking code, you don't have to worry about any of the developers being hit by a meteorite which critical code is locked, requiring a central administrator to forcibly unlock it.
Now for branches. A branch is simply a variant of a project and it's common practice pre-dating git to create a project branch and work on the branch, merging the branch back into the mainline project when it's ready for production. Doing this allows any fixes to production (production source) to be done without dragging in the incomplete changes in the branch prematurely. Git supports multiple concurrent branches on the same local project, which can be helpful if you have several feature set projects in various stages of development. A simple "git checkout" can switch your workspace between branches".
Git also has a special "stash" feature for when you're working on something and you get an emergency fix request. You can simply stash your local work to revert to the mainline code, put in your fix, commit it, and unstash what you'd been doing. It's fairly easy to spin a branch out of work in progress as well, if you're like me and forget to create a branch before starting work.
Yes, git has a bewildering array of features, but most of the critical ones have simple uses. And the rest of them are there. Just in case.