One of the best use cases for Git and other version control systems is on projects where multiple developers are working on a shared code base. Most projects solving non-trivial problems require collaboration. Git is a great way to keep code changes in sync with the remote repository as the single source of truth. Developers don't step on each other while working on their respective code changes.
Many years ago, I used a different system called CVS. One of the big improvements that Git has over CVS is that Git allows developers to work on their own local copy of the remote repository. Even if the network is down, an engineer can work on code changes and commit on their local copy then push those changes once network access is restored. This is a big deal for engineers who work while they travel.
One limitation of Git merge is an issue that I came across today. It's a line-for-line, syntax/text based solution. It doesn't understand context. In my case, since my last pull, another developer had changed the API and updated multiple function signatures. The merge worked, but compilation failed. All this to say that developers can't point to a successful merge operation as evidence that the combined code is valid. We still need plan and align our work as a team and make sure to build and test every time we modify the code.