How does server re-start work

We had some situation in Production machine and the performance was very slow. Might be because the workflow has to retrieve lot of tasks for a user/role OR lots of documents getting queued up in the Broker and so on…Someone suggested a restart of the Workflow and wM.

I was wondering do we need a re-start - cant we just reduce the tasks in WF or clear the queues in the client (in broker) or do something like this instead of re-start the server.

I know re-start of a server somehow does some magic things - I want to know what are these that make system to work normally again?

Any suggestion please…

Thanks,