Graph the polynomial and look for the roots -- the place where the graphed curve crosses the x-axis. There will be as many crossings of the x-axis as the degree of the polynomial if the polynomial is completely factorisable into binomials of degree one. If the curve is tangent to the x-axis at a point, it indicates a double root. If r1, r2 and r3 are places where the curve crosses the x-axis, then X - r1, X - r2 and X - r3 will be factors of the polynomial. If rr is a double root, (X - rr)^2 will be a root of the polynomial.
Generate the possible candidates for binomial factors by looking at all possible combinations of the first and last number in the polynomial. For example, in the polynomial 2X^3 + 5X^2 - X - 6, the first number is 2 -- which has factors 1 and 2 -- and the last number is 6 -- which has factors 1, 2 and 3. The candidates for factors are X - 1, X + 1, X - 2, X + 2, X - 3, X + 3, 2X - 1, 2X + 1, 2X - 2, 2X + 2, 2X - 3 and 2X + 3.
Try to divide each candidate into the polynomial. For example, trying each candidate of 2X^3 + 5X^2 - X - 6, we find that X - 1, X + 2 and 2X + 3 divide the polynomial so 2X^3 + 5X^2 - X - 6 = (X - 1)(X + 2)(2X + 3). If only one of the candidates divide the polynomial -- as is the case with X^3 + 2X^2 + 2X + 1 -- there is only one binomial factor. The other factor has degree two and can be found by dividing the polynomial by the binomial factor, Hence X^3 + 2X^2 + 2X + 1 = (X + 1)(X^2 + X + 1).