Очень странный вопрос. Почему под .NET существует множество языков, если можно писать всё на C#? Почему вообще существует множество языков, если можно писать всё на C? Почему так много разновидностей мобильников? Почему автомобили бывают разных марок? И т.д. и т.п. Потому что не бывает единственно правильного всегда и для всего решения.