Custom Controller: A custom controller is a class written in Apex that implements all of a page logic.
- If we use custom controller, we can define new navigation elements or behaviors, but we must also reimplement any functionality that was already provided in a standard controller.