Version control systems allow users to track changes to files over time, enabling retrieval of specific file versions. Centralized systems store version history on a central server, while distributed systems give each user a local copy of the full version history. Key aspects of version control include keeping track of changes, reverting files to previous versions, and easily incorporating others' work. Popular systems include Git, a distributed version control system, and SVN, a centralized system. GitHub is a code hosting platform that utilizes Git for collaboration and version control through features like repositories, branches, commits, and pull requests.