All microcomputers contain microprocessors. They are the core of any microcomputer system. Microcontrollers are special-purpose computer systems, usually programmed to perform a single task. As they are computers in and of themselves, microcontrollers will have a microprocessor as part of their system hardware.
A microprocessor is often also called the CPU, or Central Processing Unit, of a microcomputer. It is, in essence, the heart of a computer system. It is tasked to perform a wide variety of functions.
Microcontrollers are small, task-specific computers. They will have a microprocessor on board to handle logic and instruction processing. Yet, they still must have all the essential elements of any computer system.
Microcontroller units and full computer systems will have basic infrastructure in common. Essential to any computer system is input, output, storage, instruction processing, and memory.
The main difference between the microcontroller and a typical computer is a matter of scale. Usually, a microcontroller is programmed for a specific task and left alone to do it without further human input. However, a general computer system can be tasked with a wide variety of jobs.
A microcontroller would be well-suited to monitoring the water level in a swimming pool. It can read level inputs. It can check them against programmed limits, and it could even drain or fill pumps as needed to maintain the proper level. A full-powered computer system would be overkill for such a job.