This is one of those questions that requires a lot of details, but it will boil down to "Why do you like using SVN?" and what you can use from the "like" list to present to your boss.
I've used all three. I can only speak for my own experiences and bias. My usage history is VSS --> CVS --> SVN
CVS
Pros:
- It can be used across the internet
- Very stable
Cons:
- It is very hard to rename things. This causes a lot of pain.
My main beef with it was client software. I found all of the client software incoherent and disjointed. I absolutely hated using it.
VSS
Pros:
- Sharing projects is dead easy.
- Integrates well with Microsoft IDEs
Cons:
- It uses the Microsoft Jet storage engine, which is prone to corrupt whatever it is accessing.
- It can't be used outside of your LAN, unless you buy something like SourceOffsite.
- The checkout-lock files and checkin-unlock files can slow down productivity in larger groups. A lot of newbie developers leave files checked out, and the rest of the team has to wait on them to make any check in.
- Microsoft does not develop this anymore. Microsoft doesn't even use this internally for their cash cow apps like Office and Windows. They actually use a custom version of Perforce.
Subversion
Pros:
- Checkout-edit-merge file editing cycle is very team friendly
- Creating branches is very cheap and doesn't copy physical files
- It's being continually developed
- There are several Subversion packages to choose from
- A lot of third party vendors integrate with Subversion. It has a rich application ecology.
- One major advantage is that you can now integrate security Subversion with your Active Directory tree.
Cons:
- Merging conflicting can still be a major pain in the neck, but this is the same as with most other version control systems.
- Security can be a bit tricky to use depending on which server (svnserve.exe or Apache/WebDAV) you choose to run your repositories.
I'm guessing that since your bosses want to buy VSS2005, that this will be running on Windows. My recommendation is that you stick with one of these 3 Subversion distros/packages
General Subversion installation package:
CollabNet Subersion - http://www.open.collab.net/downloads/subversion/
This will install both svnserver.exe (custom server) and Apache/WebDAV or you can choose which one to install during setup. You'll be able to serve your repositories using both http:// and svn:// protocols.
Subversion plus Administration console:
VisualSVN Server - http://visualsvn.com/server/
They do their own Subversion distribution. This package has a Microsoft Management Console (MMC) snapin to manage the server. This one will help you setup permission against you Active Directory tree. This is mainly geared towards http:// protocol.
Subversion Administration console:
PainlessSVN - http://www.painlesssvn.com
This one will only work with svnserve.exe (custom server). It's a Microsoft Management Console (MMC) snapin that will manage the settings, and users. This is mainly geared towards the svn:// protocol.
Tom Ritter gave some very good links to tools that will import history and code from CVS/VSS to Subversion.