The most common .Net languages are Visual Basic, C++ and C#. However, there are numerous other programming languages that will function with the .Net Framework. Like, F#, J#, PowerBuilder, IronPython, IronRuby, etc…
It is possible to use .Net from many programming languages because they have all agreed on some standards. For example the Common Type System or CTS. This is a specification that defines the different data types and programming constructs.
Programming languages come from different sources and for different reasons. Universities, companies and governments have all created or committed to certain technologies and languages, while perhaps having different reasons. Reasons such as security, research (parallel computing), adaptability (complexity) and for profit languages influence which languages come into mainstream.
Regardless of where languages come from or why people choose them, the .Net framework is a feature rich library that helps with the rapid development of computer systems. The fact that many different languages have been modified to support it further shows that many believe in the benefits of it.