I would say it this way, I hope I’m accurate and clear:
Smooth shading creates a gradient between the faces of your object in order to fake a smooth surface. But you have to keep in mind that a face is always made of 2 triangles, so actually the gradient happens between these 2 triangles, and between these triangles and each triangle of all the adjacent faces.
On a complex object and when the angles between the faces are increasing, the gradients will inevitably begin to create some triangulation artefacts (see pictures below).
If you add some edge loops close to the angles, the main face has now a new adjacent face that is on the exact same flat plane, so you won’t risk anymore artefacts. It will happen on the new additional faces though, but as they are very thin you won’t see it.