In recent years, Microsoft has been pushing automatic updates more and more. At the same time, the updating experience just hasn't gotten any better.
My Linux install never urges me to update. Updates come out many times a day, and I can ignore them entirely for as long as I want. My Windows install continually urges me to update. It makes them increasingly hard to ignore, to make sure I install them. The idea behind this is not bad: many people would postpone updates indefinitely without understanding the consequences. Browsers these days install updates without even asking the user, and complaints about that are rare.
The problem is that updating Windows is a terrible experience. It wants to install updates when I shut down, which on a laptop is often the moment I'm leaving, when I'm ready to put it into my bag and go home. This is a terrible time to install updates. It's even worse because the time the updates take is incredibly unpredictable. Sometimes they're done in a minute, but I've also had a single small update take 45 minutes. I ended up putting the laptop into the bag while it was running the update. When I arrived home it was very close to overheating, had burnt through much of the battery capacity (the battery in that thing isn't very good), and it wasn't done yet.
Then I figured the solution would be to avoid updates at shutdown, always executing them manually when I was going to keep using it for a while. This is how I handle updates on Linux, and it works perfectly. So I tried that a few times, and the experience was terrible. It would always require a reboot immediately after, while I was working. This is a terrible time to reboot.
Meanwhile, every time I update my Linux installations, it's painless. I just run the update command, it tells me exactly what it's going to update, I accept, and I can leave it running in the background. The longest one of those updates ever took was 10-15 minutes, on a machine that hadn't been on for 6 months. Hundreds of packages updated in minutes, without disrupting the work I was doing. An hour or so later I shut it down and from the next boot on I was running the newest kernel.
What Microsoft needs to do is to make updates painless. It needs to be clear what is being updated and how long it is going to take. It needs to stop requiring reboots all the time, and when that is achieved it needs to stop updating on shutdown.
Also important: It needs to stop requring multiple reboots for one update round. Windows, for me, is not the OS that boots by default. Every time it restarts I need to explicitly tell my computer that "yes, unfortunately there are still reasons to keep using this."