The idea behind factoring is to group as many like terms as possible making the equation simpler and easier to manipulate.
1) Seperate the like terms. This means you group the terms that have either the same variable or are products of the same number. I will demonstrate by putting like terms in parentheses.
0 = (x^3 + 4x^2 -3x) - 18
2) Now you will basically 'un-FOIL' the part of the equation inside the parentheses. Since you know how to FOIL(asumming you do) you just work backwards.
You know that after FOILing you have 4 terms, so try separating it into 4 terms. The only term that can be split in this instance is 4x^2.
4x^2 = 2x^2 + 2x^2
3) un-FOIL
x^3 +2x^2 + 2x^2 - 3x = (x-2)(x+3)^2
4) To find the value of 'x', you simply set it equal to each term inside parentheses.
x = x-2
x = (x+3)^2
Ans) x = -3
x = 2