Have you ever wondered what is the difference between iisreset, recycle, refresh and restart?
Here is great post that answers all the questions:
Vlad Mucescu explains that:
“As pointed out, iisreset will stop and start the World Wide Web Publishing Service. This, of course, applies to all of your application pools. I’m sure you noticed a process being created for each application pool. This process will handle requests for all websites associated with it. When you recycle an application pool, IIS will create a new process (keeping the old one) to serve requests. Then it tries to move all requests on the new process. After a timeout the old process will be killed automaticaly. You usualy recycle your application pool to get rid of leaked memory (you might have a problem in your application if this needs to be a regular operation, even though it is recommended to have a scheduled recycle). As for restarting a website, it just stops and restarts serving requests for that particular website. It will continue to serve other websites on the same app pool with no interruptions.
If you have a session oriented application, all of the above will cause loss of session objects.
Refreshing a websites has no effect on the service/process/website and is meerly a UI command to refresh the treeview (maybe you added a directory you don’t see in the management console).”