The bloat in Windows is an interesting issue. I put together Windows OS images and a freshly-installed, before-updates Windows 10 image might be around 2 gigs (maybe a bit more or less, I’m going from memory here). Granted, a Linux distro may hit that size with a lot more preinstalled software, but I haven’t paid much attention.
Windows starts bloating when you apply updates. It keeps a lot around to facilitate rolling back updates if needed; this gets cleaned up over time but it can be an issue on a small disk. There’s ways to get the size back down (while sacrificing the ability to roll back updates that you’ve applied), but you don’t regain all the space.
I get the feeling the Windows Update mechanism is a large legacy mess that is stuck having to account for corner-cases that have built up over time. Microsoft are improving it; I think it’s just a really big engineering task that they’re having to slowly work through. I vaguely remember something about the way Windows handles overwriting open files in-place which makes this worse, but I can’t remember the specifics off the top of my head.