Salesforce has a limited audit capability to track changes in a sandbox. Making changes in the production environment is risky, and we are not able to see versions of files or track changes in a sandbox.
Reverting code in Salesforce is a very difficult task if we don't have version control in place.
Why doesn't Salesforce provide its own version control? Salesforce was basically designed for users to get their application running on the cloud without much understanding of the code. We can build small applications in Salesforce with just clicks, so Salesforce didn't focus on having version control. In Salesforce, we can modify the Salesforce organization in place so we don't need to have code on a local machine.
Mostly people working on Salesforce think that there is lot of work involved in setting up version control for Salesforce...