There is a spectrum, so difficult to say.
Microcontrollers are small SoCs... memory is inside chip.
They have IO dedicated pins.
TODO: response time is smaller.
TODO: most have predictable instruction times, and are better for hard real time.
TODO: the latency between signal and result is smaller
TODO: often programmed to run on bare metal, while microprocessors are more often programmed to run on top of an OS (e.g. Linux). But there are also OSes for microcontrollers, mostly real time ones: http://www.embedded.com/design/operating-systems/4425751/Comparing-microcontroller-real-time-operating-systems, e.g. QNX. Those OSes can even implement the POSIX C API.
Microcontrollers can have either internal or external clock sources: http://electronics.stackexchange.com/questions/15455/internal-or-external-oscillator TODO CPUs?