PLDs, DSPs, MCUs, MPUs and SoCs Typical Application
PLD.  Programmable Logic Device, i.e. FPGA and CPLD.  Programmed by essentially rearranging the circuitry.  Good for things that are simpler and faster than what can be done on a processor (although "simple" and "fast" are both moving targets as technology changes).
MCU.  Microcontroller Unit.  A complete computer on a chip, with periherals that are handy to solve the problem at hand.  Programmed by changing the machine instructions stored in non-volatile memory (i.e., something like a "computer program").  Small &amp; cheap, generally not as computationally capable as an MPU.
MPU.  Microprocessor Unit.  The core of a computer, contains the actual processor core, possibly some memory (in the form of cache(s)), and interface electronics to more memory and I/O.  Must have further "computer stuff" added before it'll work: at least memory, possibly bridges (ala desktop processors).
DSP.  Digital Signal Processor (not to be confused with Digital Signal Processing).  Essentially an MCU or MPU with a core that is optimized to carry out digital signal processing.  Can often be used as a general-purpose MCU or MPU, with a loss of efficiency.  Can often be replaced by a general-purpose MCU or MPU, with a loss of efficiency if it's doing "real" DSP.
SoC.  System On Chip.  Mostly a marketing term, unless you're talking about applications-specific chips (ASICs), this is an MCU that contains more applications-specific analog or digital circuitry on-chip.  Designed with the goal of putting all the system functionality on one chip instead of having a board with MCU and peripheral electronics.  Definitely a moving target -- yesterday's SoC is today's MCU, etc.