I have been taught that they are used when receiving something (or a favor) from someone. But how exactly do they differ? I've searched the web for an answer and.. One site suggests that kuremasu is impolite, moraimasu is normal and itadakimasu is polite. Another site says that kuremasu is just normal, and itadakimasu is very polite... I was wondering which one to use in which situations... or should I just stick to itadakimasu to be safe? are there any scenarios where it would be inappropriate?
You are entering dangerous waters when using keigo (敬語) I suggest taking special courses if you've already reached an average level. Foreign students only learn keigo around the 3rd or 4th year at university while Japanese kids learn it in primary school.
To make it simple:
There's really too much to say in one forum post, but concerning the three words you mentioned specifically: morau, kureru, itadaku
If this post didn't dissuade you from using keigo then I advise you to read a lot of business correspondence in Japanese and stick away from manga, read a good book about Keigo then propose a sentence to a native Japanese speaker and make sure it is usable.
Depending on whom you speak to, correct formal Japanese is better than incorrect Keigo :)
Polite forms are like this
So, if you want to use polite form, use kudasaimasu, or itadakimasu depends on situation. or choose the formers if you prefer normal form.
Difference between kuremasu and moraimasu is depends on the side of the subject.
They are interchangable if you rephrase the words.