Look carefully - the faces aren't correctly lit if you leave out the GenerateNormals statement. Actually, since you should always include it, I don't know what purpose the statement serves: BVE could just as well generate the normals automatically on the next CreateMeshBuilderStatement/end of file and save you the bother.
The normal to a plane is a vector perpendicular to it. In 3D graphics, there is a normal vector at each vertex of the face and they define the orientation of the face and are used to shade it. By changing the directions of the vectors and using an appropriate shading algorithm, apparently curved faces can be acheived (as is done for a cylinder in BVE). Although .csv format doesn't support this, .X format does and when we start to use 3D graphics programs to build models rather than hand coding them as csv, this feature will be available to us, though to a limited extent as we can't use thousands of polys in BVE and get reasonable performance!