1) Had an extensive API 2) Had build auditing 3) Worked well on Windows as well as *nix (git fails here) 4) Had great easy-to-use GUIs so 'normal' people could actually use the system to do most tasks. 5) Had some authentication/cryptographic guarantees built into the system by design (git, mercurial do - nearly everything else doesn't) 6) Had an efficient way to work in a distributed way among disparate offices/developers 7) Had the ability to do renames and merges at a very granular level, while also retaining historical info. 8) Provided granular access privileges to parts of the system (some things must be secret - think gov't work) 9) Changes can be applied/reverted/rolled-back in a single transaction (atomicity) if desired.