Factor1[poly] factorizes common terms in the summands of
poly. It uses basically PolynomialGCD.
(a - x) (b - x)
{Factor1[%], Factor[%]}(a-x) (b-x)
\{(a-x) (b-x),-((a-x) (x-b))\}
ex = Expand[(a - b) (a + b)]a^2-b^2
Factor[ex](a-b) (a+b)
Factor1[ex]a^2-b^2