Hello.
The way smoothing groups make faces look smooth or sharp is because the software keeps vertices duplicated internally.
A single vertex that belongs several to faces with sharp corners is duplicated per sharp face. The program does not show you these duplicates or even give you access to them.
if you're trying to export a mesh from 3DS Max, for example, and you want to support smoothing groups, you will have to manually break a vertex and weld the clones that belong to faces with the same smoothing group, and leave separate the clones that belong to faces with different smoothing groups (you can't access the internal vertex clones, but you can retrieve each face's smoothing group).
If you want a cube to have sharp corners, you will have each vertex being duplicated per sharp face. Since each vertex in a cube belongs to 3 faces, you have (8 vertices being split in 3) = 24 total vertices.
Then each face's normal is calculated based on the positions of the vertices that form it. The vertex normals are then calculated by averaging the normals of all faces the vertex belongs to.
With this, in a welded cube with only 8 vertices the vertex normals point in a direction from the center of the cube to each vertex (or in other words, it's the averaged normals of the 3 faces the vertex belongs to, which results in it pointing diagonally outside), and in the broken cube with the 24 separate vertices, the vertex normals are those of the face that the vertex belong to (it's also an average, but of only one value, so it results in that value entirely).
Regarding the editing of normals, Blender unfortunately doesn't support that, although there were some requests for this feature. It's an interesting tool for making game art assets.
If you can alter the vertex normals then you basically control how lighting affects the object without having to resort to multitexturing. The reason you would want that is that, in some cases, it may actually look better than if the normals were just taken from the faces like they usually are.
The best usage for this is with foliage, but there are other applications such as environmental art.
Read more about it: http://wiki.polycount.net/VertexNormal#Foliage_Shading
The difference is mostly this.
Regarding a foliage prop formed by 3 quads:
With normal editing, you can point the normals to a more convenient direction such as outside (from the center of the object to each vertex), and it'll make the foliage look more volumetric and hide the intersections: