A process is simply an application running on your computer with one or more threads. MPI allows you to start multiple copies of the same OpenMC process that run independently (notably each occupies its own memory space) but can communicate through standards calls. OpenMC uses these communication calls in order to collect results from the different processes. If you have multiple cores on a computer, you need to either use threading, MPI, or a combination of them to fully utilize the hardware resources. If you are running on a single machine, threading is usually sufficient. If you are running on a cluster where multiple nodes are connected by a network, MPI is needed to utilize multiple nodes.