They're all version control systems (VCS). They each have their strengths, but depending on your needs you might choose one or the other, or none at all.
We use git to track both software and documentation development. You can have multiple versions of the same material, different people working simultaneously in different parts of the code or documentation, and when ready commit changes to the master branch (different terminology for different systems).
Maybe if you google VCS and get an understanding of that first you'll better understand the different types of software that perform that function.