VC++ 2003 (aka 7.1, "Everett")
Major work: ISO/ANSI conformance push, added partial template specialization, generalized ADL (Koenig lookup), and lots of other conformance features. Lots of smaller performance and usability features.
In April 2004, the fully optimizing command-line compiler was made freely available for download, under the name Visual C++ Toolkit. This command-line toolset didn't include the IDE or libraries like MFC.
VC++ 2005 (aka 8.0, "Whidbey")
Major work: Added C++/CLI for .NET programming (this completely replaces the previous Managed Extensions). Lots of smaller performance and usability features, including profile-guided optimization and support for lock-free programming styles using volatile objects.
This compiler was also freely available for download, now with the full IDE, but not libraries like MFC.
VC++ 2008 (aka 9.0, "Orcas") + Feature Pack 1
Major work: A favorite feature was /MP for parallel builds (which was in VC++ 2005, but not documented). Continued to add lots of smaller performance and usability features, and added ISO C++ TR1 (including shared_ptr, hash-based containers, function<>, and lots of other cool stuff) as well as massive extensions to MFC to bring the Office-style Ribbon and Visual Studio-style docking UI to native UI development.
This compiler is also freely available for download: Visual C++ 2008 Express. (Note: The feature pack containing the TR1 and MFC updates initially won't install on the free 2008 Express compiler, only on Visual C++ 2008 Standard and above. That will probably change in a future release.)