You may also find this question relevant.
Performance
The major difference in how long individual operations take in SVN and VSS is in the SVN principle: time of the operation should be proportional to the size of the change, not the size of the project. This is best seen with Get latest version (VSS) versus Update (SVN). VSS "Get latest version" always iterates over all files in the project, checking their status. This takes very long. Compared to this, SVN checks the project history and only manipulates the files which were touched. In a typical scenario this a huge win, as most often only a few files are touched. Even when a file is touched, transferring the change is a lot faster in SVN than in VSS, because only changes are transferred, compared to whole file in VSS. The same is true for Commits (Checkin), where again SVN is a lot faster when doing small changes in huge files. This applies to binary files as well, as SVN is able to do differencing with those as well (using XDelta as its core differencing engine).
Most important tools
For a Visual Studio developer the most important tools are:
- TortoiseSVN - access the repository via Windows Shell
- AnkhSVN - Visual Studio integration
- some also recommend VisualSVN as VS integration, but I think with AnkhSVN 2 the integration is already good enough
I even go as far as saying having TortoiseSVN and AnkhSVN you do not need "Subversion core tools" installed at all. Core command line tools are extremely useful e.g. for automation, but for general everyday work I am never using them and installing them is not needed for TortoiseSVN or AnkhSVN to work.
Web access
Access over web is supported natively by SVN, and is supported extremely well. For VSS you need external applications for this and while they are not bad, they are not 1:1 to the original environment, and their speed is still somewhat lacking.
How to convert
The VSS2SVN is a tool which performs the conversion reasonably fast and reasonably well. Based on our experience I would strongly recommend not using the "stable" build, use a daily snapshot instead - it is able to handle many items in the history which make the previous build failing completely.
We have used the recent daily build successfully with a huge database with long history and the result was very good.