The general rule is “Only when necessary”.
One of the key debates around the stability of Windows vs. *nix platforms derives from the fact that Windows systems started as desktop machines – and as such were subject to many changes, viruses, etc. so that they NEEDED periodic rebooting.
Much as I favor *nix for servers, the fact is that a properly configured Windows server can run for months or longer without needing a reboot.
The only time they are likely to NEED rebooting would be after applying patches that are part of the boot configuration.