What is the purpose of the -n2 option with neato?

First, the -n (or -n1) option: Somehow, you have pos values (in points) for all the nodes, and just want neato to draw the edges FAQ | Graphviz
The -n2 option is used when you have all the node pos values and all the edge pos values and just want neato to convert to a different output format FAQ | Graphviz
Because it is more difficult to create or modify edge pos values (splines) (e.g. see Fun with edges!), neato -n is probably more commonly used.
Neato without the -n/-n2 options uses its own placement algorithm(s) and will produce very different results. (https://graphviz.org/pdf/neatoguide.pdf)
Note that neato -n is similar to, but not the same as, pinning node pos values (pin | Graphviz)