MP/M was a fairly advanced operating system for its era, at least on microcomputers. It included a priority-scheduled multitasking kernal (before such a name was used, they referred to it as the nucleus) with memory protection, concurrent input/output and support for spooling and queueing. It also allowed for each user to run multiple programs, and switch between them.
The system required a minimum of 32k of RAM to run, but this left little memory for user applications. In order to support reasonable setups, MP/M allowed for memory to be switched in and out of the machines "real memory" area, the lower 32k. So for instance a program might be loaded into a "bank" of RAM that was not addressable by the CPU, and when it was time for the program to run that bank of RAM would be "switched" to appear in the lower 32k and thus become visible to the OS. This technique, known as "bank switching", is a rudimentary version of virtual memory. It was subsequently added to the single user version of CP/M with version 3.0.
One of the primary uses of MP/M, perhaps to the surprise of DRI, was as a "power user" version of CP/M for a single user. The ability to run several programs at the same time and address large amounts of memory made the system worth the extra price.
Like CP/M before it, MP/M was eventually ported to the Intel 8086, and appeared as MP/M-86. It was later renamed DR-Multiuser DOS and Concurrent DOS 386.