I like such questions, and like very much the answer of Stephen Luttrell. Such questions are fun by themselves, and for this reason I am giving my version of the answer too. I propose to first multiply the result by Sqrt[p + Sqrt[m^2 + p^2]]
and then to transform. This is the expression:
expr1 = p*Sqrt[-p + Sqrt[m^2 + p^2]] +
Sqrt[(m^2 + p^2)*(Sqrt[m^2 + p^2] - p)] -
m*Sqrt[p + Sqrt[m^2 + p^2]];
now let us multiply and Expand:
expr2 = expr1*Sqrt[p + Sqrt[m^2 + p^2]] // Expand
It gives this:
(* -m p - m Sqrt[m^2 + p^2] +
p Sqrt[-p + Sqrt[m^2 + p^2]] Sqrt[p + Sqrt[m^2 + p^2]] +
Sqrt[(m^2 + p^2) (-p + Sqrt[m^2 + p^2])] Sqrt[p + Sqrt[m^2 + p^2]] *)
Let us now teach Mma to fuse the square roots:
expr3 = Map[ReplaceAll[#, Sqrt[a_]*Sqrt[b_] -> Sqrt[a*b]] &, expr2]
yielding the following:
(* -m p - m Sqrt[m^2 + p^2] +
p Sqrt[(-p + Sqrt[m^2 + p^2]) (p + Sqrt[m^2 + p^2])] + Sqrt[(m^2 +
p^2) (-p + Sqrt[m^2 + p^2]) (p + Sqrt[m^2 + p^2])] *)
And as the final stroke let us open parentheses under the radicals:
Map[Expand, expr3, 4] // Simplify[#, {m > 0, p > 0}] &
giving
(* 0 *)
as you expected.