If we have a quad that is non-planar. Why do most 3d modeling packages choose to use a single normal for the quad (Specifically for Blender3d by using cross product of two edge's vectors that do not share a vertex, here's the math). Instead of viewing it as two triangles, and using a separate normal for each triangle?
Normally we calculate a vertex normal as the normalized average of all polygons the vertex is part of. If we have a quad consisting of two triangles, then the two vertices that are part of both triangles, get the average of the two triangle normals. This results in smooth shading across the non-planar quad. Instead of the uniform shading we would get if we were to use a single normal for the whole quad.
This also extends to polygons in general. In 3d modeling sofware a single normal is calculated for the whole polygon (for Blender3d with Newell's method), instead of individual normals for each triangle it consists of.
To build on top of this, if we have a mesh with flat shading, each polygon gets a single normal as described above. Flat shading means that the shared vertices are split. And each vertex gets the normal of the polygons it's part of. However what happens if we want to apply a smooth shading on the mesh? Are the vertex normals calculated as average of all polygons it is part of? This doesn't seem right. Do we instead triangulate the mesh, and calculate the vertices as the average of all triangles it's part of?