.NET 2.0 was finalized back in November when Visual Studio 2005 was released. They two went hand in hand with each other. You can install both 1.1. and 2.0 on your computer with none to little problems. New applications being written now will most likely require 2.0, but older applications need 1.1. 2.0 is NOT backwards compatible with 1.1 (foolish mistake IMO of Microsoft, but on the other hand, backwards compatibility in Windows has caused huge problems as well
)
As for what .NET is, it's a framework/API to allow quick development of products with fewer errors. For example, ASP.NET provides constructs to do common things, such as a web-server reading a database and providing that data in a table on a webpage, with fwe lines of code (like 10 lines), rather than scripting it in ASP or PHP (which would take like 40 lines or so).
It's analegous to Java in that it's an engine that runs behind the scenes to provide functionality.
As for stability: C# can be just as buggy as C++, if just a mater of hte skill of the programmer. C# is far more inflexible than C++, and the compilier requires far more stringant code than C++. However, C++ has far more versitility to get it to do what you want, rather than having to live in C#/Java's stringant requirements. It's just means that it's easier to code something up that will compile, but not work.