A group is an ordered collection of processes. A communicator is used for communication. A minimal communicator is composed of both a group of processes, and a system-defined tag. A communicator may include some additional information, such as the virtual topology of processes, etc. A MPI message contains data and a message envelope.
Data includes a message buffer, a number of elements, and the type of the message buffer.
MPI's extensive functionality requires many functions. The number of functions is not necessarily a measure of complexity. Many parallel programs can be written with just 6 basic functions. One has flexibility when it is required. One need not master all parts of MPI to use it .