For version control within MODX, the VersionX extra is fantastic. It stores previous versions of your resources, chunks etc. It's saved my a$$ many a time.
The Janitor extra can help with backups. Personally, I just run mysqldump as a cron job.
You can do real version control with MODX using git, but it's a bit awkward. Basically what you do is make all of your snippets, chunks etc. into static elements - that is, elements that just reference a file on the server. Then you can do all of your development by editing the files, and use git for version control for the files.
However, I would only recommend that if you're developing a custom extra. For normal day-to-day operations VersionX is sufficient, and for normal development, you can use a development server and use PackMan to package and export updates from the dev server to production.
I gave a presentation on this at the last Denver MODX user group. The slides are here:
http://prezi.com/0nxhc5xefz_m/staging-from-development-to-production-in-modx-revolution/