Often the product MS provides is good enough but I remember in the tail end of the web forms disaster there were some good open source MVC libraries inspired by the Java ecosystem but they never really got traction and people kept building things with shitty web forms. This is until MS came with ASP.NET MVC and people started to switch.
I don't think Microsoft wants to kill alternatives. I think they really want a healthy ecosystem to get more developers using .NET but they also want to be able to create a complete developer experience and that sometimes clashes and kills other products due to the culture.