I'm trying to figure out the difference between the two. I think てくれる can be used when talking about others but then why not just use てあげる for others and てもらう for yourself
-
Related: japanese.stackexchange.com/a/308/9831 – Chocolate♦ Mar 14 at 13:46
So the best explanation I've heard for this is actually thanks to the concepts of うち and 外 first, or (in English) it basically depends on point of view.
てもらう can be used to describe anyone receiving a gift from anyone else; when the receiver is the subject of the sentence.
てくれる is used when the giver is the subject of the sentence.
I know this is discussed in Genki textbooks (Genki II) but the best explanation, along with diagrams, I've seen as to how this works is via Tae Kim's and also lingo-app's entry on giving and receiving in Japanese.