It's often convenient to use a pure function when you start with a function f of two arguments and want to fix one of the arguments so as to evaluate f for several values of the other argument, and then you would combine the pure function with a Map (or, often, the /@ special input form for Map).
For example:
cubeRootsUnity = Exp[(2 Range[3] \[Pi] I)/3];
Graphics[{
Red, PointSize[Large],
Point /@ ReIm[cubeRootsUnity],
Blue, Thick, Arrowheads[Medium],
Arrow[{{0, 0}, #}] & /@ ReIm[cubeRootsUnity]
}, Axes -> True, PlotRange -> 1.25]

To be utterly precise here, the expressionf[arg1, arg2] is Arrow[{arg1,arg2}], and the fixed first argument is {0, 0}.
It would be tedious (especially if you considered, say, 8th roots of unity instead of cube roots), to repeat the Arrow expression for each individual root.
(Note that Arrow[{{0, 0},#}]& is not Listable.)