Why do normals exist?
A normal is a vector in 3D-space that is perpendicular to two other vectors (determinded by two edges of a face). It is calculated by the cross prduct.

A basic use of normals is in shaders e.g. to calculate reflections



Imgage: https://en.wikipedia.org/wiki/Reflection_(physics)

Normals could also be used for backface culling. This is a performance optimization which allows to skip rendering of faces which will not be visible (normals pointing away from to the camera). OpenGl uses a different method for that described here.

Left image includes backfaces, the right one doesn't.