In my experience, all Microsoft products need to be restarted regularly to keep the memory allocation healthy.
But I always think it is an unofficial practice until I see this article: http://technet.microsoft.com/en-us/library/jj219572(v=office.15).aspx It said "To manage memory resource allocation, a developer can shut down any services that are not used, or they can periodically restart SQL Server. "
Although the suggestion is for development, I think it is also helpful for production enviornment if I can manage the restart at non-office hour.
What do you think?