The main difference between PLC and SCADA is their function and how they execute it.
PLC is essentially a hardware based system. It is nothing but a computer designed for one specific task of reading field instruments and controlling actuators, motors etc based on what program is written in it.
The PLC hardware is designed taking into account harsh industrial environments, requirements of modularity and scalability etc. Programming languages are simple. Programs can be modified online without stopping the PLC or the operations it controls.
SCADA is essential a piece of software that is installed on a PC/computer. One of its major functions is to act as Human Machine Interface (HMI).
Using industrial communication networks, like Modbus, the SCADA can be hooked to, usually, a PLC using software drivers that read data in a prescribed format over serial or Ethernet.
This data is used by the SCADA for different functions like, display & control from HMI, historical record of process functions, reports etc.
Just like the PLC, the SCADA systems are usually designed for modularity and scalability.