Is there anything I can't do in 2005 that I can do in 2008? Is 2005 obsolete?
VS2005 doesn't support C# 3.0 compiler and .net 3.5 BCL. Yes, it is obsolete.
Visual Studio 2008 supports LINQ and multi-targetting - targetting different versions of the .NET framework. VS 2005 only works with .NET 2.0
2008 works much better with XAML, provides intellisense for LINQ, has improved designers for SQL CE, launches faster, and crashes less.
The Surface SDK requires VS2008.
The debugging features in 2008 are much improved. Besides having an immediate window (which we had in VB), you are also able to click on certain structures (like Data Tables) and view them in a grid format. These are called Debugger Visualizers and in fact you can even create your own. For example, if you have a collection of objects you can create a form which holds a grid or anything else that will help you visualize the data. Then during debugging you are able to pass your collection to this form to help you debug.
This explains many of the new features of 2008.
This link actually goes into way more detail