Difference between てもらう and てくれる


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




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](http://lingo-apps.com/ageru-kureru-morau/).

