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.