A controller is an implementation of control logic of a control system.
A controller, in most broad sense, can be an electronic, software, electrical or mechanical
assembly that receives feedback from the plant, may receive the reference or set point from external source and processes this other information to generate commands to plant so that plant will behave in the manner as intended by the reference.
Few examples how a controller can be manifested:
Electronic Control Unit: Microcontroller with control system algorithm
written as software and associated signal processing and generation electronics. These are mostly used for implementing digital control or control in discrete domain. Image Source.
Pure Electrical Circuit Based Controllers (Source). Similar to ECUs this
can also be realized on a PCB, but it doesn’t relies on software for it’s transfer function. They can implement control in analog domain itself providing nearly accurate realization of transfer function. However, they are subject to parameter variation due to temperature, humidity etc. Programmable Logic Controller: Controller where high number of digital or discrete control output commands are required. These are usually used in process control in industries. (Source) Purely Mechanical Controllers. They use the mechanical, pneumatic and hydraulic components to achieve the control. Image Source.
Hybrid Controllers: They combine electrical, mechanical, software etc..
domains to implement the control strategy. These are quite common in robotics and advanced control applications Many more controllers implementation can exist, only some common ones are listed for brevity of answer.