The .NET framework is part of Windows and provides a controlled environment for developing and running applications. Programmers do not have to "reinvent the wheel" as the framework provides a rich library of APIs that applications can use. This library includes functions for GUI, accessing databases, communicating across networks and much more.
It also supports many different programming languages including C++ and C#. There is less of a need to choose a particular programming language because of the features it offers.