The way I solve these is as follows:-
Take your first problem, 2x^3 + 9x^2 - 5x = 0.
You need to find a first factor to allow you to get to a quadratic.
Clearly in the above case you can re-write as:-
(2x^2 +9x -5)x = 0
Therefore x=0 is your first factor. The second is the quadratic 2x^2 + 9x - 5.
You solve this in the traditional way noting that |a*c| = 10 where a is the coefficient of x^2 and c is the constant - 5.
The factors of |a*c| are either 10 and 1 or 5 and 2.
10 and 1 will give you the 9x when subtracted so re-write the quadratic as:-
2x^2 +10x - x - 5 = 0.
=> 2(x+5) - (x+5) = 0
=> (2x-1)(x+5) = 0.
That means your 3 factors are 2x-1, x+5 and of course, x itself for x values of 1/2, -5 and 0.
Your second example is more difficult.
x^3 - x^2 - 4x + 4 = 0
Convert to nested form as:-
((x-1)x - 4)x +4 = 0.
Now you need to use brute force to find a value of x which will give you 0 for your first factor. Start at x=0, then x=+/- 1, +/- 2 etc.
You'll find that x=1 gives you 0.
i.e. the first factor is (x-1).
Now to find the remaining quadratic, divide x-1 into x^3 - x^2 - 4x + 4 as a long division.
You'll find you get x^2 - 4.
Therefore your factors so far are:-
(x-1)(x^2 - 4) = 0.
Clearly the quadratic breaks down to (x-2)(x+2) and so your final solution is:-
(x-1)(x-2)(x+2) for x=1, 2, -2.
I'm sure I've confused you with the above but basically that's the route you need to take. Perhaps there's an easier way to explain what I've done or an easier way to actually solve it.