When are edges necessary and when can I get away with only vertices?
Don't blindly erase edges just because they seem useless, you should instead be focusing on overall topology.

A good mesh will maintain a predominantly quad based flow with 4 sided faces as much as possible.

Triangles and NGons are to be avoided above all, they are bad for animations and cause trouble with texturing.

This good topology guide may help.

Bottom line is: You can never get away with just vertices, edges are there for a reason, and only erase them in the process of modeling, never in the process of forced cleanup.

EDIT: About Edges D,E,F, those yes, should be erased, but again you should not be focusing on the edges themselves but the internal geometry.

Those are non manifold faces, (could not be constructed in a real world model) and the edges belong to more than two faces at a time. That whole loop of faces should be removed entirely.