Visualforce is a component-based user interface (UI) framework that enables the creation of dynamic, reusable interfaces.
Controllers consist of instructions that specify what happens when users interact with page components, such as when a user clicks a button. Page components can be controlled by the standard logic for Salesforce pages, or developers can associate their own logic with a controller class. Server-side standard controllers simplify basic database operations, such as queries and updates.
See an introduction to Visualforce: