1. With a length of time, present perfect usually means this action started in the past and has continued until now.
Ralph’s a bus driver. He has worked as a bus driver for 10 years.
Note: Present Perfect Progressive can often be used to say the same thing (but not with stative verbs).
2. With no time phrase, present perfect usually means the action ended in the past, but the time is not clear.
Ralph isn’t hungry because he has eaten dinner.
Note: In American English, simple past can usually be used to say the same thing.