Version control systems like Subversion allow multiple developers to work on the same codebase simultaneously. It keeps track of all changes made over time and supports releasing multiple versions concurrently. Subversion stores every version of files, allows branching for parallel development, and uses merging to integrate changes between branches. It uses a centralized model where a repository stores all file versions and branching/merging occurs through copying directories.