.NET 2.0 allows for stronger type-safety, nullable types, and changes in the framework. 2.0 represents (what I would consider) the first 'real' release of the .NET platform. It is a serious contender, and you'll find that some of the framework stuff you use in 1.1 has been modified in 2.0.
Some changes in .net framework 1.1 to 2.0
* Generics
* Static Classes
* Nullable Types
* Yield Operator
* Property Access Modifiers
* Partial Types
* Aliases
There are a slew of changes between .NET 2.0 and .NET 3.0. There was an entire paradigm shift. some of the changes here:
.NET Framework changes
* Windows Presentation Foundation (WPF)
* Windows Communication Foundation (WCF)
* Windows Workflow Foundation
* Windows CardSpace
C# Changes:
* LINQ
* Object Initalizers
* Collection Initalizers
* Anonymous Types
* Lambda Expressions
* Automatic Properties
* Extension Methods