Suspend/resume and power management have always been difficult to get right, requiring support from every driver and every piece of hardware. Windows NT had nothing. Windows 9x barely supported even the simple APM standard. Even on modern Windows it can be somewhat spotty. NVidia cards can't always do it, IIRC they had a list of supported motherboards. Suspend/resume in Linux works on my laptop, somewhat: about ~10% of the time when I get a blank screen on resume and have to power cycle.
One of the best things Microsoft did to improve suspend/resume recently, perhaps unintentionally, is to make the "Shut down" option in Windows actually suspend instead of shutting down. That must have put enormous pressure on hardware manufacturers to get suspend/resume working perfectly, as failure to suspend/resume is immediately obvious to users no matter how they turn off, making it a top priority. I wonder how much this improved suspend/resume support in open-source operating systems though.
One of the best things Microsoft did to improve suspend/resume recently, perhaps unintentionally, is to make the "Shut down" option in Windows actually suspend instead of shutting down. That must have put enormous pressure on hardware manufacturers to get suspend/resume working perfectly, as failure to suspend/resume is immediately obvious to users no matter how they turn off, making it a top priority. I wonder how much this improved suspend/resume support in open-source operating systems though.