Help others discover your work (specifically people who you are not yet aware of are interested).
Facilitates review of code: having had more eyes on the code means there is a smaller likelihood of bugs or potential of bugs.
- easy to have concurrent versions, for example a stable one, a development one and a hotfix when you're on a tight deadline, e.g. before conferences.
- automatic backup without the need to do anything else
- makes collaboration easier (fewer code clashes; fewer breaking changes, and code conflicts are simpler to resolve)
- integration with other tools:
- issue tracker
- project management
- continuous integration
- code quality checkers
there are many flavors of version control systems. modern ones are distributed in nature: e.g. git, mercurial, bazaar. Of these, git is the most popular by a good margin. there are some excellent quality online services that build on git. some examples are github.com, bitbucket.org, and gitlab.com.