Many reasons:
* Any lines thicker than 1px (glLineWidth is not universally supported)
* AGG-like antialiasing
* Nice joints and caps
The only reason to use GL_LINES is for best performance and memory usage.