We were using VSS (Visual SourceSafe) at work; but, we have now moved to SubVersion with TortoiseSVN. We use VisualSVN Server (free) with VisualSVN Client ($49) for Visual Studio integration.
Here is great article on getting started with SubVersion using all free products:
Source Control for Visual Studio 2008: VisualSVN Server, TortoiseSVN, & AnkhSVN
Even though this is for 2008 I don't see why it wouldn't work for 2005 as well.
I'm still learning SVN and getting more into branches as you release a product and continue developing having 2 branches (release and trunk) and then merging one into another.
I like the "Revert" function, you make a change and then you want to go back to the previous version.