I spent several years using (and administering) Subversion at a previous job, and the last three years using Vault at my current job. At this point I'm desperate to get away from Vault and back to Subversion (or potentially a tool like git or Mercurial).
We've had a lot of issues with performance and reliability (Vault doesn't always pick up files that have been modified, and on occasion will insist that you haven't modified a file when you have) but this may come down to the (long) history of our repository and how we handled branching in the past. I'd argue that if it were better designed then none of that should have mattered, but if you're not doing wacky things with it then maybe you won't have the problems we've had.
That said, there are some fundamental design decisions that I can't forgive:
- the working folder model (similar to VSS) is overly restrictive; if I want to check out the same code to more than one place locally, I should be able to
- the merge tool blows
- I don't need to be walked through a seven-step wizard every time I need to merge changes
- can't cherry-pick multiple revisions to merge
- added/deleted files aren't merged into your working folder until you commit changes meaning you can't verify that everything is okay before checking-in
- no equivalent to "svn switch"; switching a checked out folder to point to a new place in the repository makes Vault freak out
Ultimately, Vault's a much less flexible tool than Subversion is, though that lack of flexibility does mean it can be simpler to use. If you have a team of developers who are accustomed to VSS and you're not going to demand much of your source control tool, Vault's probably a fine choice. Having gotten accustomed to Subversion's flexibility, though, I find using Vault an exercise in frustration.