* at "random", during regular use
* when installing something, sometimes
* when removing something, sometimes
* slowly, over time
They were essentially just huge steaming piles of shit.
What you are describing was true at the time for Linux. It was an absolute bear to set up (at the time of win95/98) if you had anything unusual but once it ran it ran.
This has never been true for windows although the reasons why have shifted over time: it used to not work primarily because it was just shit. Now it additionally doesn't work because it is actively malicious.
I am writing this from the perspective of someone who is regularly forced to use Microsoft's products for work. I am familiar with the subject matter.