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:
あげる = You give to someone
くれる = Someone gives to you
もらう = To receive
いただく = polite form of 食べる or 謙譲語 form for もらう
There's really too much to say in one forum post, but concerning the three words you mentioned specifically: morau, kureru, itadaku
- It means "to receive".
- Its modest form (謙譲語 kenjōgo) is いただく
- Kenjogo is used to show modesty in an action you are doing. When you start eating or when you are taking something you can say: いただきます
- So, morau = itadaku in kenjōgo form (modest)
- Morau can also be used for the case someone does something for you:
'Could you listen for a moment please'
- Kureru and ageru mean "to give" (the usage depends on who gives)
- If someone gives you something and you need to use keigo, then you should use the sonkeigo form or respect form (尊敬語) of kureru which is くださる
It can be combined with other verbs like morau:
'Mr Tanaka chose me.'
'Mr Tanaka taught me。'
If you give something to someone you respect, you should then use the kenjōgo form (respect) of あげる which is: さしあげる
- We saw it can be the kenjōgo form of morau but it is also the formal form (simple politeness) for 食べる to eat which is probably the first sentence you learned: いただきます!
- On the other side, if you need to say that someone you respect eats or drinks something you would need to use the sonkeigo form (modest) of 食べる or 飲む which is:
召し上がる － めしあがる
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 :)