Where do normals come from?

I understand that normals are a normalized vector per-vertex representing a surface’s direction. But how do you calculate them? Do you need any more information other than the vertex positions?

( Please put in simplest terms possible, I’m still learning all this graphics processing stuff )