Horizontal scaling (scaling out) means handling more load by adding more machines and spreading work across them, as opposed to vertical scaling (scaling up) — buying a bigger machine. Horizontal scaling is how systems grow past the limits of any single box.
Worked example: a stateless web tier scales horizontally behind a load balancer — double the instances to roughly double throughput — while a single database is often scaled vertically first (more CPU/RAM) until sharding is unavoidable. Gotcha: horizontal scaling only works cleanly for stateless components; stateful ones (databases, sessions) need sharding, replication, or a shared store — which is why “make it stateless” is the first step toward scaling out.