I can never manage to guess when a question is expecting てくれる or てもらう and it is driving me crazy. Does anyone know how to tell these apart? I thought that maybe you could distinguish them by whether the actor is behind the に particle or not but a lot of example sentences omit the subject or seem to violate these rules.
Ah, I also had a lot of difficulty with this, initially. The difference is that when てくれる is used it means that someone did something for the speaker and てもらう is used to say you got someone to do something for you. Both てくれる and てもらう are often talking about the speaker themselves receiving something or having something done for them.
Imagine a situation where a speaker is talking about themselves in a casual setting with friends. If the speaker says:
「彼が昼ご飯を買ってくれた」 , it would mean: 'he bought lunch for me"
However, if the speaker says:
「彼に昼ご飯を買ってもらった」 it would mean: 'I had him buy lunch for me"