There are a lot of reasons why to upgrade and there are a lot of articles out there on the how and what, but here's just a personal list I'm going to keep ;-)
* generics (would want to write that one down a 100 times, but I'll hold back)
* refactoring (for example: renaming a class and vs can change all the referencing code for you)
* resource files -> strongly typed
* resizable arrays (through generics)
* much improved intellisense
* static classes
* partial classes
* SqlDataSourceEnumerator
* Enhanced tracing
* Build in Click Once deployment
* SmartTags
* SQL Server Management Objects (SMO), imo much easier to use than the System.Data.SqlClient namespace. Including some nifty things as Impersonation