Reposted from ServerFault, “Why add additional application pools in IIS?”
- AppPools can run as different identities, so you can restrict permissions this way.
- You can assign a different identity to each app pool so that when you run task manager, you know which w3wp.exe is which.
- You can recycle/restart one app pool without affecting the sites that are running in different app pools.
- If you have a website that has a memory leak or generally misbehaves, you can place it in an app pool so it doesn’t affect the other web sites
- If you have a website that is very CPU-intensive (like resizing photos, for instance), you can place it in its own app pool and throttle its CPU utilization
- If you have multiple websites that each have their own SQL database, you can use active directory authentication instead of storing usernames/passwords in web.config.