One of the most visible deficiencies in Visual Studio is that each version is tied to a specific version of the CLR. For example, it is impossible to create anything but .NET 2.0 applications using Visual Studio 2005. Visual Studio 2008 partially addresses this issue with what Microsoft calls multi-targeting.
In .NET 1.0 through 3.5, only one version of the CLR can be loaded in a process. Since Visual Studio is partially built using the .NET framework, it can only load the version it was shipped with. This in turn makes it nearly impossible to work with applications that need to target other versions.
Visual Studio 2008 does not actually fix the issue. Instead, it is able to side step it because .NET 3.0 and 3.5 are really just libraries on top of the 2.0 runtime. Scott Guthrie demonstrates the UI changes to support this, which is essentially a dropdown box that causes additional libraries to be referenced.
Since this is not a complete fix, you still have to use VS 2002/2003 to build .NET 1.0 and 1.1 applications respectively. On the plus side, at least the project file is not changing and VS 2005 users can work alongside VS 2008 users.