The guy who gets shortchanged the most in all of this is Dhawan. In the last 3 years he has scored 2000+ runs at an avg of 52 and SR of 102.
If Dhawan was in any other ODI team, he would be, at worst, the 2nd best batsman in that team. And apart from Aus and SA, he would be the best batsman in the side for all other teams.
Problem with Dhawan is converting starts into big score. Virat since 2015 Worldcup has 14 centuries. Rohit 13 and Dhawan has just 7. All 3 have played similar number of matches. Dhawan also rarely finishes game which virat does and even rohit does quite few time.