Why does restarting/resetting the router work?
Software reloads often fix things like memory leaks and hung processes. I'm assuming your router runs a version of Unix that just isn't quite up-to-snuff.
What kind of router do you have? What firmware is it running? What problems are occurring?
Sometimes you may have bad hardware (I have seen a number of Linksys Wireless APs where the transmitter would just stop after a while and needed to be reset by a physical power cycle)
Sometimes a software bug will lead to the router becoming unresponsive over time (e.g a memory leak)
Usually though it is just a workaround for something that can be done another way, but it is just quicker to reboot (I had a cable modem that would drop from time to time. It would come back up eventually after a timeout, but it was usually quicker to power cycle it to force the renegotiation).