I used the simplified example with x to illustrate the problem. In your problem, just because a,b,c>0 doesn't mean that Sqrt[b+c]>0, or that Sqrt[a^2+b+c+2 a Sqrt[b+c]]>0. Even if you tell it that both of these are >0, that still isn't enough. You have to either explicitly tell it to use the positive square root, like this:
FullSimplify[ a + Sqrt[b + c] - Sqrt[a^2 + b + c + 2 a Sqrt[b + c]] /.
Sqrt[a^2 + b + c + 2 a Sqrt[b + c]] -> a + Sqrt[b + c]]
or else square both terms to eliminate the sign ambiguity, like this:
FullSimplify[(a + Sqrt[b + c])^2 - (Sqrt[
a^2 + b + c + 2 a Sqrt[b + c]])^2, {a > 0, b > 0, c > 0}]
It's only a computer program, after all, so it does have its limitations.