Yes, there is a difference.
Ja, es gibt einen Unterschied.
"einkaufen" is mainly used with "gehen":
einkaufen gehen = to go shopping
but can also be used on its own, like this:
Where have you been? - I was out shopping. - Ah, what did you buy?
Wo bist Du gewesen? - Ich war einkaufen. - Ach, was hast Du gekauft?
Here, you could NOT say: "Ich war kaufen."
However, in some instances "einkaufen" and "kaufen" are indeed interchangeable, as in:
Ist noch Milch da? - Nein, ich habe vergessen welche zu kaufen/einzukaufen.