Wow, this is a difficult question and a huge answer.
1) We often use the present perfect to give 'new' information, for example when we want to report an event that happened a short time ago.
2) We use the present perfect to talk about a repeated past event that may happen again in the future.
3) We often use the present perfect to talk about a situation that began in the past and continues up to the present or future. It is often used with time expressions such as since, for, never, etc.
4) We often use the present perfect to talk about a past event that has a connection with the present
This is just some of the explanation for present perfect so you can see how complex the question is. Hope this helps you even though it's only one part of the answer, maybe someone with more time can give you the others.