Present perfect is primarily about expressing that an action has lasting relevance extending to the present. For example, "I have fixed the window" not only says that at some point in the past I did fix the window, but emphasises that the window is still fixed in the present, or perhaps that my duty to perform the fix is completed (whether the window has stayed fixed or not).
For that use, you can often choose between present perfect and past simple - it's a matter of what you're trying to emphasize.
One other thing present perfect is often used for is expressing an action that started in the past and is still going on: "I had a Nintendo Kindle for a year" means I don't have it anymore; "I have had a Nintendo Kindle for a year" means I got it a year ago and still have it. This use is more commonly seen with the continuous/progressive: "I have been reading".
Most other languages express this second thing with a present tense, but in English you have to use present perfect.
"I have had lunch" emphasises that my need for food is currently still satisfied, or perhaps that I'm currently not free to take a break from work to have lunch, because I have already used that break today, or maybe that there is currently less food in the kitchen because I've eaten some of it as lunch.
In any case, the importance of the message is in the consequences that past lunch has on the present.
"I had lunch" literally means that in the implied period of the past I did happen to eat something for lunch, but it doesn't have any particular implications on the present. Thus it would not be a common answer to "Are you hungry?"