The difference is in the number of lighting calculations done. Where the lighting calculation produces some color.
Flat does one per face, uses the color across the face.
Gourand does 3 (for a triangle, one for each vertex), interpolates the color across the face.
Phong does a light calculation for every pixel/fragment (where the normal is interpolated across the face).