Every face carries its own normal — the direction it points. Flat shading uses that value as-is, painting one whole face a single brightness, which is why the result shows sharp, visible polygon edges. Smooth shading averages the normals of every face sharing a vertex at that vertex, then interpolates brightness gradually across face boundaries — so the surface reads as continuously curved even though the polygon count hasn’t changed at all.
The key point: the vertex and face count never change — shading is purely a question of how the same shape gets painted. That’s why a low-poly sphere with smooth shading looks smooth in the middle of a face but still shows its faceted silhouette at the edges, and up close reads as “fake round.”
Blender switches this with Shade Smooth/Shade Flat in the object right-click menu, Maya with Soften/Harden Edge, and C4D with a Phong tag. All three also support applying it per-edge (keeping specific edges sharp), so a rounded body can carry crisp detail without needing subdivision at all.
When to use
Use smooth when a low-poly shape needs to read as curved; use flat when a hard-surface or low-poly look is the intent.