Thanks! Yeah, this is a great follow-up to what I've been saying.
Right, Windows isn't perfect either. What it does have going for it, though, is that on Windows there are comparatively very few external shared libraries -- in fact, the only ones I can think of are in fact the C, C++, .NET, and SQL runtimes. So, as you confirmed, it means application updates rarely break your system globally. (OS updates can still wreck the system... but that's no worse than Linux distros in my experience... but let's not go on this tangent.) Of course, that comes at the cost of needing to rely on the vendor for updates to their uses of third-party libraries. It's understandable that not everyone would like this trade-off (though mine tends to prefer an out-of-date system that works than a patched system that's broken), so that part (kind of) makes sense, especially if people are extra-worried about security over productivity. The part I find mind-boggling is that Linux users are obsessed with package mangers for the initial installations themselves, not merely updating. Package managers seem (almost?) fundamentally flawed in that regard, and that's what baffles me. Do they really only ever want to install FOSS software blessed by their OS distro, and do they really think it makes sense for a system to break if they install anything unblessed? More power to them if they can live like that, but I can't.
In terms of the problem you faced, do you mind if I ask how recent of a Windows version it occurred on? (i.e. was it on pre-XP, XP, 7, 8/8.1, or 10?) One generic tip I do have is to use VirtualBox to boot into the host OS with an immutable virtual disk, make all the changes, and verify everything works correctly before doing it for real. It can come in handy when installing programs or updates that you suspect might be problematic. I can provide more details on this if you're interested; just let me know.