When you see an optimization problem, ask yourself:
Can I sort the input meaningfully?
At each step, is there an obvious best choice?
Does that choice ever block a better global solution? If you answer yes, yes, no, try greedy. Build the solution, test on examples. If it works, prove it (or at least convince yourself). If you find a counterexample, do not force greedy. Switch to DP or another technique. If you find a counterexample, stop trying to fix greedy. Switch immediately to DP or brute force. Forcing greedy on wrong problems wastes time.