I find boot times quick enough on modern laptops that shutting down and restart is fine.
If I want to leave session alive during the day I just lock it and leave it running. Hibernate is enabled for if battery gets low but I hardly ever manually hibernate.
How mobile are you with your laptop? If I had to restart (i.e., lose all my xterms' state, etc.) every time I'd stopped using my laptop for a day or so it would totally kill my workflow
This is one of the best parts about hibernation. Shutting down is saving state. Booting? The kernel starts booting as usual, entirely the same as a normal boot. It gets quite far along, has already loaded a bunch of drivers, and then it finds the hibernation state & loads that.
Where-as with most s3 and s2idle suspends, there really is a lot of system level bios support required to make things happen. Many systems just do it wrong, not to spec, or desktops often not at all. These are non-issues in hibernation.
To your point though, I did have a laptop on which the wifi would disappear every other hibernation. I'd tend to hibernate it, immediately wake it up, and hibernate again, so when I really turned it on it would be good to go. For a while I had been packing a USB wifi card because I hadn't put it together. So yeah I've seen issues. A kernel upgrade half a decade ago seemed to have fixed that, but yeah I guess it's some evidence of problems. Still, the amount of time I've spent trying to get systems to suspend has been long & sad & difficult, with little evidence of what's happening. Hibernation has been a pretty reliable & consistent tool that I feel like I can almost always rely on.
> S1 Sleep Supported false S2 Sleep Supported false S3 Sleep Supported false S4 Sleep Supported true
Which... seems quite wrong given I can put my laptop to sleep lol. But thanks for the pointer, even though I was aware LTT did the video on sleep it'd fallen out of my memory (pun not intended).
Edit: I think I partially solved it. Running powercfg /a reveals...
The following sleep states are available on this system: Standby (S0 Low Power Idle) Network Connected Hibernate Fast Startup
The following sleep states are not available on this system: Standby (S1) The system firmware does not support this standby state. This standby state is disabled when S0 low power idle is supported.
Standby (S2)
The system firmware does not support this standby state.
This standby state is disabled when S0 low power idle is supported.
Standby (S3)
The system firmware does not support this standby state.
This standby state is disabled when S0 low power idle is supported.
Hybrid Sleep
Standby (S3) is not available.
The hypervisor does not support this standby state.
(I have hyper V enabled.) So it does look like S0 sleep is the culprit.