Underachiever.
You just have to watch Hafeez and see how sweetly he times the ball and range of shots when he's on form. He looks like he should have been a better batsman than he is. One of the most pleasing aesthetically on the eyes, and I think there's a reason for that.
Post 2010 however he has performed decently and been an asset in all formats. He outperformed every other opener we had in tests during that period up to Azhar moving up and Sami coming to the team. In ODIs he has the second best numbers with bat alone after Misbah until recently with the emergence of Babar and rise of Sarfraz. And of course was handy with the ball for a long period of time.
If we look at ODIs, here what he averages since 2010: 37,37,26, 46,30,41, 41, 42. That isn't half bad at all for an extended period. His bowling exploits were very useful coming in at an economy of low 4/mid 3 runs per over until about 2015. For the majority of time post 2010, he made it in as a batsman or a bowler.
In tests, an average near 40 is nothing to laugh at, and given our standard of openers, he is the best opener we had since Anwar until Azhar moved up. Yes an asian bully, but at least he brought in runs somewhere, was still a cut above guys like Farhat,Masood, Khurram, Butt etc. and brought utility with the ball.
Hafeez performed better in a period where most failed, yes but people acting like he kept out someone better are a bit deluded, we tried out many, many cricketers during that period who either lost form or didn't deliver. He held his spot in the team and was one of the most valuable players on all round performance and then at the latter times bat alone until recently. Think it goes to show despite looking past it he's still averaging over 40 these days,showing it's relatively easier to perform with the bat these days. Not that the others like Babar, Sarfraz aren't outperforming him, they're better than him by some distance clearly.
I don't believe he was wasted top order either. The whole point of him batting top order was wasted either, we had a lack of options in the top order, Jamshed fell away, Sharjeel was only discovered last year/two years ago. Fakhar only a few games ago lol. By Hafeez batting top order, at the time this gave us more freedom to try out middle order/late order batsmen like Asad, Maqsood, Umar Akmal, fawad alam Rizwan etc.With the pakistani players in general terrible against the new ball, Hafeez was a good sacrifical lamb against it, allowing the others to come in later. Yes he probably would have done better lower order, but I was not prepared to have him there when we had a lot of promising middle order talent to try out. His position in the top order was for the good of the team.
Now however his time looks up,his teammates are outperforming him unlike before, he looks shaky, out of form, his reflexes gone and really deteriorated with the ball. Don't see much point continuing with him. But yeah underrated cricketer.