I ran into half-edges as part of the result of a Delaunay Triangulation library, but can't find an actual definition of what one is.
I understand vertices, edges and faces, but can't find a concrete definition of a half-edge.
A half-edge is an edge split along its length, and having a directional component, that is, a beginning vertex and an end vertex. Where two polygons share an edge, each polygon gets a single half-edge between the same two vertices, which will have opposite directions if the winding order is consistent. These half-edges will have references to one another as two halves of a pair.
The full half edge data structure stores for each half-edge:
This structure allows you to extract all sorts of connectivity information from a mesh, such as which edges or polygons lie around a particular vertex, simply by traversing the half-edges. There's a good article explaining it here.