AppDomain does not enjoy a new 'resource space' provided by the OS. For example, the available memory space is not enlarged when creating a new AppDomain which could be a limitation on 32bit systems. For the same reason, an error which causes the process to die (like out of memory) will cause all AppDomains in process to die together, and so are uncatched exceptions. That's absolutely wrong when using Processes.
However .NET do deal with AppDomain as foreign units. For example garbage collection is performed for each AppDomain by its own thus one GC thread of an AppDomain will not disturb different AppDomain. It may affect the CPU time resource that AppDomains consume by lowering dependencies between AppDomains (although I've never tried to check how much it affects).
From your questions it sounds like process is the preferred solution as you want a different resource pool for each plugin, but the answer depends on what exactly resource types are you talking about.