So would India take Hafeez over Kohli/Tendulkar/Dravid because he's blessed in all facets?
You're comparing a 36 year old with a 22 year old prospect? It's almost the opposite end of the development curve.
Patterns started to emerge with Hafeez a long time ago.
A prospect is judged for their ability to piece together an innings and hold their own against competition because you know there is room to grow. You can work with them.
If an 18-year-old Virat Kohli started wafting away outside the off stump, would you kick him out of the team? No, you'd look at his positives and admit he has work to do because he has time on his side. Hafeez is making the same mistakes he did as an 18-year-old. That's unacceptable and is the reason he's criticized openly.
If neutrality was used without context, you'd keep giving chances to Mark Ramprakash because he dominated FC cricket. However, reality showed they weren't up to scratch against international competition.
The same applies to Hafeez.
One failed series is okay. It happens. Two failed series and you start wondering. The man has failed 2-3 times in ENG, AUS, and SA. That's as clear-cut as it gets about how he is as a batsman in seaming conditions.
And you're oddly overselling Hafeez's bowling on a turning wicket. Please go back and look at his record
(post-ban) on pitches like the one he'll see against good teams. It's nothing to write home about.
Hafeez is a good player in Asia. Don't get me wrong. But the team isn't being built for that so his inclusion is utterly bemusing and his flaws remain the same as they always have.
Good for him that he performed and helped PAK win but the pattern has always been the same with him and it will continue.