I know how shading works with faces:
That's set by choosing Smooth/Flat under Faces in the Shading menu:
But what do the other two options—Edges and Vertices—do?
This feature makes it possible to sharpen or soften individual components of a mesh instead of soften or sharpen the entire mesh. Especially for Low Poly Modeling it can be useful to have more control about the object's appearance and thus to define a more complex shape with less geometry.
Result of sharpen the selected edges only:
Note: In Order to make it work, enable Auto Smooth Option in the Properties Panel > Data.
When sharpening vertices, the connected edges are also affected:
Render result of sharpen edges only: