Some people may think that, by telling everyone that a reboot will solve their problems most of the time, I am giving up a trade secret. Let me answer that in the form of a question:
Your computer is having problems printing and is telling you the printer is not available. The printer is question is a large network printer that you are connected to through a print server. Which do you reboot, your computer, the printer or the server?
Ah! There's the rub. The secret is not so much knowing when to reboot, but knowing what to reboot.
Or at least taking a lucky guess.