I would like to know what is the difference. Currently I am learning this stuff and it seems to me like these are just the same:
delegate void X();
X instanceOfX;
instanceOfX = delegate() { code };
instanceOfX = () => { code };
Also if the lambda are newer, should I just use lambda and forget on anonymous methods?
Yes, lambda expressions are just very special anonymous methods.
However, there are some deep differences. Start with Eric Lippert's Lambda Expression vs. Anonymous Methods, Part One and continue to the rest of the series.