Boost.MPI provides an interface to the MPI standard (Message Passing Interface). This standard simplifies the development of programs that execute tasks concurrently. You could develop such programs using threads or by making multiple processes communicate with each other through shared memory or network connections. The advantage of MPI is that you don’t need to take care of such details. You can fully concentrate on parallelizing your program.
A disadvantage is that you need an MPI runtime environment. MPI is only an option if you control the runtime environment. For example, if you want to distribute a program that can be started with a double click, you won’t be able to use MPI. While operating systems support threads, shared memory, and networks out of the box, they usually don’t provide an MPI runtime environment. Users need to perform additional steps to start an MPI program.