There can be any reason to reboot the server but for hosting servers there are specific purpose.
Reasons can be one of the following.
-After critical security patch update.
-After routing IP sub-nets [not required always]
-If the Memory is blocked and Server is Not responding.
-If the server has crashed and needs rebooting with different kernel.
-To perform hardware upgrade
-Power maintenance at Data Center
-Deploying installed OS components [e.g. .net version, powershell etc]
Except above there can be events that can trigger server reboot.