To give or let someone have something, where the receiver is the speaker or someone close to the speaker.
友達が誕生日に本をくれた。
A friend gave me a book for my birthday.
母が手作りのスープをくれた。
My mother gave me homemade soup.
彼はよくアドバイスをくれる人だ。
He's the kind of person who often gives advice.
誰かが助けてくれたおかげで助かった。
Thanks to someone helping me, I was saved.
Often in the form 'くれてやる', to give with a tone of disdain or contempt toward the receiver.
そんな古い服、くれてやるよ。
That old clothing? I'll give it to you (with disdain).
もう勝手にしてくれ、気にしないならくれてやるよ。
Do as you please; if you don't care, I'll give it to you.
An auxiliary after the -te form meaning 'to do something for (the speaker)' — expressing that someone takes the trouble to do an action for the speaker.
手伝ってくれてありがとう。
Thank you for helping me.
彼が予約してくれたおかげで席が取れた。
Thanks to him booking, we got a seat.
教えてくれますか?
Could you tell me? / Will you teach me?
As an auxiliary after the -te form, it can carry an ironic or critical nuance that the action caused disadvantage or trouble for the speaker.
彼は鍵を忘れてくれて、家に入れなかった。
He forgot the key (to my annoyance), and we couldn't get into the house.
書類を送ってくれなかったせいで手続きが遅れてくれた。
Because they didn't send the documents, the procedures were delayed (used ironically).