I think it's for a mixture of reasons.
1)C# and Java are the two enterprise level languages that a lot of employers are looking for. 2) Learning a concept in 1 language is almost always going to help you do the same thing in a different language. Concepts are fairly ubiquitous. 3)Learning something you aren't interested in helps to teach you perseverance. There are many libraries and tools that are not fun to use in a corporate environment, if you don't have the ability to learn something you don't enjoy (or isn't pretty), then you are doing a disservice as a programmer.
That's my take on it anyway.