I bought a laptop one year ago, and decided to run it with a dual boot, after using mine on Ubuntu for years.
It's quite a constant with Linux distributions, and has always been a struggle in all experiences I had. In my case, my laptop is a Dell XPS with an IPS OLED Infinity HD screen. I love this screen (on Windows) but on Linux, it is sucking all my battery and its brightness cannot be adjusted from my keyboard keys.
The first time I used my Linux with this screen without my energy cable plugged in, I lasted only 1 hour and was quite in trouble to continue working that day! After hours to try to fix the problem, my best option was to reduce the brightness (with a specific software, method 2 here), which actually saves a lot of energy.
Some little annoying things still happen on my Ubuntu. It may seems nothing at first, but after a while it is quite annoying. Some of them include:
Some software can't deal with that superb resolution of my screen and displays text in a very very very small font, making it unusable. Usually there is a way to make them bigger (in the settings), but it's something I never have on Windows.
When my Firefox requests a restart (new version I presume), it never restart when I click on the Restart button. The OS didn't get the instruction properly.
I can't pin all software in my navigation bar. Again, there is probably a way to do so, but I didn't find it yet...
The shared links in Slack does not open in my already opened Firefox, but in a subprocess of Slack. It is annoying because then my credentials are not maintained (it's like a new private browsing), which makes it very annoying for work.
At some point Slack was flickering and was not usable at all. I had to use it on a browser tab instead.
When I reboot my machine from Linux, and expects the dual boot menu to appears, it does not. I have to shut it down, and then start it from scratch (pressing the Power button). The first time I was really scared that my dual boot set up failed!
Some software really take too much resources (RAM), like Chrome or Zoom. Which is really annoying knowing that I bought a new laptop partly to solve this issue... Now, when I have a Zoom call, I reboot on Windows.
You make think these are small, and that in most cases I "just have to do this and that". My whole point here is that I don't have to do it on Windows. Everything is working out of the box.
So far I don't have much to complain about my Windows OS. I know the reasons, and the tight partnership Microsoft deals with manufacturers. In the case of my laptop and in particular the screen, it makes a huge difference in my daily experience.
Every time I am entering a coding session, I reboot on Linux. Things are smoother, much more integrated, and I am much faster. On Windows, I use Git for Windows but I hate the terminal (I should try to change it...). And I didn't set up the Linux WSL thing, which seems promising in my case.
In particular, Docker is far more useable on Linux than Windows. I expected that because of the core idea of the technology the experience would be the same on any OS, but not at all (so far). I think the main problem is the file system on which Docker technology heavily relies.
... on Windows. I see the drivers are updated frequently. When it comes to watch a long video or a film, I always use Windows, which makes my experience amazing. On Linux, it's... flickering! Videos apart, my screen is amazing on both OSes :)
I don't regret this choice at all, and in my case it's probably the best choice I could come up with. I did not try many Linux distributions as I was suggested to, I just stick with Ubuntu. Maybe another distribution would perfectly match my hardware (I hardly doubt it, though).
Also, something important is that booting either on Windows or Linux is super quick (a bit longer from Linux as I explained above). If there is a Windows update, I can totally delay that to the next time I boot on Windows. It is not impacting my Linux booting time at all.
I create an NTFS partition that is both r/w on Linux and Windows to share most of my personal data. It works fine and has been a good option so far. I happened that because of Windows sleep mode I was not able to write on that partition under Linux, but I could fix it disabling fast startup.
My job is a lot of code related stuff without coding, and I manage it on Windows. Windows became my main OS because of this. However, for personal projects and integrated development session, I don't lose time with Windows and switch to Linux.