# Solve[ ] with Method -> Reduce gives a different result than Reduce[ ]

Why does

Solve[Sqrt[x + Sqrt[x]] - Sqrt[x - Sqrt[x]] ==
m Sqrt[x/(x + Sqrt[x])], x, Reals, Method -> Reduce]


give a different result than

Reduce[Sqrt[x + Sqrt[x]] - Sqrt[x - Sqrt[x]] ==
m Sqrt[x/(x + Sqrt[x])], x, Reals]


note that the first one says $1<m<2$ while the second one says $1<m\le 2$.
The documentation says

With Method->Reduce, Solve uses only equivalent transformations and finds all solutions.

-

Solve by default works with generic parameters, even if you use the option Method -> Reduce. To get the special parameter value m = 2 you need to set MaxExtraConditions to All:
Solve[Sqrt[x + Sqrt[x]] - Sqrt[x - Sqrt[x]] == m Sqrt[x/(x + Sqrt[x])], x, Reals,

As discussed in this thread, Even both Method -> Reduce, MaxExtraConditions -> All are turned on, Solve and Reduce could give different results. For example, Solve[x^2 + y^2 <= r^2, {x, y}, Method -> Reduce, MaxExtraConditions -> All], and the Reduce counterpart. –  Yi Wang Feb 10 '14 at 14:08