こんにちは。週末はどうでしたか。 (Good day everyone, how was your weekend?)
先週、会話クラスで授受動詞(Verbs of receiving and giving)を教えました。 ある生徒は私にこう言ってくれました。「先生、I am confused. What’s the difference between くださる and いただく？ Aren’t they both 敬語？Which is more polite?」
今日、詳しくその質問に答えます。 (Today, i will answer the question in more detail)
Firstly, 「くださる」 is a honorific verb, whereas 「いただく」 is a humble verb.
When you use 「くださる」, you are making the level of the person that you are speaking to (聞き手) to a higher level status.
When you use 「いただく」, you are lowering your own level to a lower status.
Take a look at the below sentences
Which is more appropriate to use in the above case?
① would fit the bill more. The reason is because, the teacher in this case, should be more respected, if you do not use 「くださる」, it seems like you are not showing enough politeness to the teacher. When ① is used, the focus is also more on the teacher, rather than you.
In ②、 the focus is more on you, the speaker (話し手), you humble yourself down to a lower level. But wait? What happens to the sensei? His/her level doesn’t change.
Let’s take a look at the below youtube video. Notice the display and what the lady said in the announcement.
Why is 「いただきまして」 not used in this case, it’s the same as the above reason.
In another case,
「ご来店くださいまして」 and 「ご来店いただきまして」, in terms of politeness level, the latter is deemed to be more polite because 3 forms of 敬語 (尊敬語、謙譲語 and 丁寧語) has been used. In the former, only 2 forms of 敬語 (尊敬語 and 丁寧語) has been used.
In conclusion, 「くださる」 should be used when you want to raise the level of the person that you are speaking to （聞き手). If the focus is more on yourself, 「いただく」 should be used.
Below are some further readings on this topic.