Oh, there’s only one reboot involved. Maybe one per major OS update if I want to be more careful, but it’s optional. I’ve done as many as 3 updates in a row without a reboot, and had no problems. Debian releases a new stable version every 2 years, which in practice means I should try to update and reboot every couple years, but I tend to procrastinate long enough that I have to update it 2 or 3 times in a row. 
Power outages are indeed quite rare here, and I think it has been several years since the last one. But that’s moot, because this was a notebook. It has a battery.
Checking my router, plugged into a wall… it currently reports 1004 days of uptime. So I guess I last rebooted it on 2023-06-22 when I … checks notes … moved the server rack to a different room. It doesn’t have a battery power supply, so I had to turn it off to move it.
Should probably update the OS on that one too. I’ve just been dragging my feet because, when I set it up, Debian’s install image didn’t have one of the non-free drivers I needed, so I begrudgingly installed Ubuntu… and I’ve kinda regretted it ever since. Probably should have done the extra steps to get the driver manually, instead of using an OS I didn’t really want.
I mostly run stuff in LXC containers, one container per service, so things are isolated from each other and can be updated whenever I feel like it without interrupting anything else. And if I need to upgrade the underlying hardware, I can migrate the guest to a different host and keep it running during the original host’s maintenance.
But desktop systems are more of a hassle to update. Because I have hundreds of windows open and have to clean up that mess before I can log out. Gotta set aside a day for it.
OTOH, since I have a few, this means I usually have the latest release on one box, the previous release on another, the next-previous on another, and maybe even an older one. So I have lots of versions to use for testing. This makes it a lot easier to support old versions.
Sometimes not all features work on an old version, but most features still work. So I enable support at least for the things it can do.
Would be nice if the Discourse devs followed a similar philosophy, since many of the things which don’t work aren’t really important. Or at least just show a warning that some things might not work. But instead, if even a single feature requires a new version, they reject the browser entirely and return an error page. It’s all-or-nothing, which bothers me because an old browser will typically be like 98% compatible, and that’s usually enough. Especially when a particular forum may not even have the other 2% enabled… it’s silly to block browsers just because they don’t support a feature the site isn’t using.