For a few weeks or so my "home server" Windows 10 computer couldn't properly shut down. After the shutdown command, the power LED would go off, but the fans wouldn't. Similarly, sleep mode wouldn't turn off the computer; instead, it would just stuck waiting for a power cycle. For the record, the computer has a Asus H61m-Pro mainboard which is released I think in 2013.
Weirdly enough, the reset button on the computer case wasn't working for a similar amount of time. None of the suggested solutions worked. That includes disabling wake-up by devices in the Power Options, disabling fast startup (which is not available on my computer probably because Hyper-V is running), checking scheduled tasks that would wake up the computer, running a system file check (SFC), removing GPU, re-installing drivers, fiddling with BIOS settings and more... The problem was quite different and probably one of the last ones that you would think.
For those of you who think it could be the PSU pins or PSU, it wasn't. Because it could shut down with "long hold power button" method or some rare things was able to shut everything down. :) So it wasn't a broken power button, broken power pin, etc.
The problem was... the BIOS memory
Yesterday somehow I thought this could be the CMOS battery running low or maybe I should do a BIOS reset. It was the latter, after I reset the BIOS via the jumper on the Asus HM61 Pro mainboard, I noticed the reset button started to work. I was hoping the shutdown would properly, and it really did!
If you're not an advanced user and don't know what is the CMOS for, it is the memory on the motherboard that stores the BIOS settings.
After a full BIOS reset, I wasn't patient enough to wait for Windows to load, so I tested the shutdown function in Windows 10's recovery menu (I have the Ease-US recovery option installed there, in that screen I also see Windows' recovery options). It worked right away (earlier, the same problem existed here too).
Maybe this isn't valid for every motherboard, but it's apparent that corrupted CMOS data can cause weird behavior. Like the hardware reset button not working and the computer cannot shutdown.
You can suspect that this was due to a BIOS setting that cleared after the CMOS reset, but I don't think so because I did a "Load optimized defaults" in the BIOS prior to this. It didn't work. And I don't know if any setting should affect the hardware reset button anyway.
Why would CMOS data get corrupted? I don't know, maybe power outages can cause it? Maybe I didn't reset the BIOS after changing the battery (maybe a year ago or so) when I should? Or maybe this is just a bug in the BIOS.