I have been waiting for you for two hours. This means that I started waiting two hours ago and I am still waiting. I think we use the present perfect progressive in this situation to express the waiting. In my opinion, progressive tenses show the action of the verb as active as happening in the moment. I think in this situation we use the Present perfect progressive to have a deeper impact on the person we were waiting for.
I've waited. This means that I started waiting before now and I'm still waiting, but the action of waiting isn't as strongly stated. This expresses that I still am waiting, but it doesn't sound as active as the previous example. I think we might use this to express I have waited for two hours but I am stopping now. I would say this like this if I planned to follow it with something like "and I'm done." So I get a call that he's going to be later, and I say: I've waited for two hours, but not any more.
The second example is present perfect simple.
I had waited for two hours. = past perfect simple
I have waited for two hours. = present perfect simple
I have been waiting for two hours = present perfect progressive.
I hope this was helpful.