After about two years of using SourceGear's Vault, I switched to Subversion for source control. I was using Vault because it was free, Web-based, integrated with Visual Studio and was generally familiar.
Now I need to get more people into the loop on a particular project, and that makes Vault not free anymore. Since I've managed to hold down a day job, for more than a year, and actually like it, I've had lots of exposure to Subversion, and I really dig it. It's "free," it's fast and since the popular TortoiseSVN is a shell extension instead of yet another client, it's very easy to use. You just need to remember to add/delete from Explorer and not simply delete stuff from your Visual Studio solution explorer. Branching and merging is like magic.
I have to tell you though, getting there was not easy. Subversion's daemon was not something I felt could work right on a Windows server with IIS, so I installed Apache instead. After a lot of messing around, I did get it to coexist with IIS. The world of config files is a strange world for us Windows monkeys, and even more strange for those of us with the minimum set of skills to make a Web server work. It's a good example of why I tend to steer clear of open source software, but Subversion is that compelling. If people with time and inspiration went beyond the installer builds (don't think those make success easy), the entire world would switch and never go back.
I also went back to using NUnit instead of the VSTS testing suite. My reasoning at first was just that the UI around VSTS testing sucks. It seemed backward to me from the start. When I gave Resharper a try, and saw the UI that integrates with NUnit, that was the end of it. I'll be buying Resharper as soon as my trial expires, for sure. The only thing I miss from VSTS is the PrivateObject class, but can I generally get along without it.