Present perfect  is used to indicate a completed past action having a present impact or present result.It is often associated with words like for since recently just ever sofar never etc.

example-Kapil Dev is the greatest all rounder India has produced so far.

I have known him for last five years.

Present perfect progressive is used to indicate an event or action which started in the past ,it is either completed or still continuing, it has a duration and it,s impact can be felt in the present moment. It is often associated with preposition FOR and SINCE.

Example-He has been teaching for last 5 years.

He has been teaching since 2009.