They are inevitable to apply when you use such functions as
MapThread mapping binary functions on some expressions. Under binary here I mean functions taking two arguments. In this case, you want that only one position of the binary function is active.
Let me give an elementary example. Let
eq = a*x == b;
be a simple equation and assume that we want to divide both parts by
a. This can be done as follows:
Map[Divide[#, a] &, eq]
(* x == b/a *)
This is the place, where the pure function is extremely useful.
Disclaimer: yes, I know, that in the latest MMa version there is a special function,
DivideSides, to make such things. But this is only an example of operations of this sort. There are many others.