Well obviously, they might have been writing software for CP/M, OS/2 or UNIX derivative instead. Its impossible to know what could have been.
Yeah, writing software for potentially hundreds of different operating systems that aren't the same or uniform, not the best situation for the average joe public is it? You take Microsoft and its Windows platform out of the picture, what are you left with? A mishmash of several different operating systems with their own structures and routines. You have a million variations of Linux, Unix, and the Mac operating system. They're not similair at all. How are businesses supposed to keep up with that, and be certain their software of choice will work with that system without any issues? How are the software developers supposed to make sure their programs work without any issues? One program will work just fine with Red Hat but refuses to run on Yellow Dog - what then?
People are quick to say Linux and its derivatives are open source, but they're even quicker to ignore the fact that you can't install anything willy-nilly on them. This makes it difficult for software developers to sell to a wide ranging market - if only so few operating systems could use it without any hitches, not as many would buy them, so the incentive to develop and release is highly reduced.
Microsoft's Windows platform enabled the vast majority of computers to be uniform - to be able to let software developers make programs in the assurance that the vast majority of users can buy, install and run them. Businesses strive on being able to keep their software running and up to date, they know it will run on Windows. Without the assurance of a platform that is guaranteed to work, there would be no incentive to develop further, to innovate and to improve. It is for this reason that without Windows, programs and software would be stuck in the dark ages. The alternatives are too splintered and unconforming to allow for real growth. You need a solid foundation across the entire board of computer users, and having several different operating systems with different requirements and behaviours is detrimental to that.
TLDR: businesses like knowing their software will run on Windows. Software developers like knowing they only have to develop for Windows which is used on the vast majority of computers.