From experiencing memory leaks and otherwise poorly written operating systems, applications and a variety of hardware issues, running "extended memory ram disks" etc, back in the 1980's I got in the habit of rebooting some infrastructure on a nightly basis (and had a massive 400 line autoexec.bat to manage it).
For me, now, it comes down to the device. Sure, I reboot my main router nightly. Why not? It resets the connections and clears are potential memory issues. Even if there is nothing to fix, the boot process (for me) is minimal (absolute minimal services, no USB, etc), so is prophylactic instead of necessary. It ensure a clean, simple, working environment for the rest of the devices. My secondary router provides a security function and hasn't been rebooted since a power failure over 8 months ago.
My NAS servers, different story. I've monitored and tweaked them to run only the bare minimum of what is essential and as they are proven stable to run over a year in some cases without a reboot, I'd rather avoid the risk associated with the moving parts (i.e. HDD ) as I've also had experiences with work servers that ran fine almost indefinitely, but it was the shutdown/ startup where a drive or something else would usually happen.
Other devices, Raspberry Pi for example, I reboot on schedule weekly or monthly depending on the services it provides.
I know I talked about other things than just a router, but it really depends on what you use it for as many "overload" their routers with all sorts of apps and features that can cause memory issues, or long delays on reboots etc so each individual setup is more or less unique.
Bottom line, you should not *have* to reboot a router on a schedule if used properly and configured properly. But, if there is no downside, why not?