Operate[p, f[x, y]] gives p[f][x, y].
Operate[p, expr, n] applies p at level n in the head of expr.
Examples: Operate[p, f[x,y]] ; Operate[p, f[x][y][z], 1] ; Operate[p, f[x][y][z], 2] .
Operate[p, f[x]] effectively applies the functional operator p to the function f.
Operate is essentially a generalization of Apply, which allows you to apply an operator to the head of an expression, rather than simply to replace the head.
See The Mathematica Book: Section 2.2.9.
See also: Through, Apply, Heads.