Em Java eu não posso falar muito.
Em C# posso, e eu sei o que é cada um dos .NET. De fato cria alguma confusão ter essas opções, mas foi para o bem, melhora agora para quem está chegando porque só precisa usar o .NET atual e não precisa saber de nada anterior. Mas se quiser saber mais:
- https://pt.stackoverflow.com/q/183229/101
- https://pt.stackoverflow.com/q/275588/101
- https://pt.stackoverflow.com/q/184716/101
- https://pt.stackoverflow.com/q/111209/101
O bom do que acontece com o .NET é que uma coisa mata a outra e não nasce algo novo "a cada dia", tem algo novo praticamente a cada 10 anos, porque enxergam que algo tinha sido pensado errado. Concordo que não é o ideal, mas não se comparar com o que acontece com certos ecossistemas.
Curiosamente eu acho que o PHP era muito simples até a versão 5, depois passou a ter o problema que é descrito aqui neste tópico.
Faz sentido para você?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).