"QQQ"'s ideas are more or less accurate.The present perfect simple "I have waited" treats the period of waiting as a unit, with an endpoint (the present moment); it does not highlight the duration of the waiting. It could very well be that the person then gives up, saying
"And that's enough! I'm going home!"
The present perfect continuous "I have been waiting," on the other hand, calls attention to the period of waiting, "stretching it out" so as to emphasize its length.
A person who has spent two hours waiting may say when the other person shows up,
"I've been waiting for you for two hours! Where were you, and what were you doing all that time?"