Process was the basic unit of execution and isolation for
running applications in Traditional Windows application development. The
advantage with the model was that each application running was loaded into a
separate process that automatically isolated each application from the other.
For example, if an error occurred in an application, that would not affect the
other applications running on the system. Also, process is defined as a security
boundary that prevents applications from talking directly with each other.
This worked fine with the Traditional windows development.
Things have changed a bit with the arrival of .NET runtime. The concept is much
more enhanced with a new entity called "Application Domain."
Application Domains are much like processes. The Application Domain is designed
to act like a security boundary and confines errors and faults to a specific
domain. Although, it is similar to the process, the Application Domain has some
different characteristics.