The most common approach to scaling applications is to scale them up. In essence, scaling-up simply means to keep increasing the resources (hardware) available on the server, allowing it to handle more load and user requests. The reason that this approach is so common is because it requires no change to the actual application and all of the data is in one place, which certainly helps reduce complexity and maintenance.
The second and more complex approach is scaling-out. The basic idea is to partition data across several database servers and therefore splitting the load of the application across multiple servers.
While scaling out web servers can be done quite easily, properly scaling out database servers is far more challenging.