CNC (Computer Numerical Control) is a particular application usually to control a multi axis machine tool such as a milling machine or a lathe but also could be a tube bending machine punch press or similar. The CNC controller is usually a purpose built controller using a micro computer but could be a general purpose computer or a PLC. The forerunner was NC (Numerical Control) before computers were readily available, it used solid state logic and relays, timers etc to provide the application.
A PLC (Programable Logic Controller) is a general purpose logic controller specifically designed to allow the user to create their own application. They select appropriate I/O (Inputs Outputs) and perhaps function modules for purposes such as communications and multi axis servo control and program the PLC to perform the required functions.