Regarding actions taken in the past, besides the differences those two tenses have semantically, my teacher shared that it could be a British vs American English case.
When talking about past action, British prefers present perfect because they take into account that the effect from their past action still happens until now. As for American, they prefer to state the action only. It happened in the past, so past tense it is.
I have had dinner. [British]
vs.
I had dinner. [American]
I hope to hear it from the native speakers, both British and American. What do you think about this? Is it true?
If it is, I don't think it can apply to all cases of past actions. There have to be cases when both style agree to use the same tenses. Could you please help me define the situation when this kind of difference applies and when doesn't?