the age argument is no longer valid, at 24 nearly 25, there are a number of players who've been at the international level for 2 or 3 years or longer by that stage and are doing much better. alistair cook is 24, averages 44 and has played 44 tests, de villiers is 25 has played 52 tests and averages nearly 44, irfan pathan is 24 has played 29 tests averages 31 with the bat and 32 with the ball, ishant sharma is 20 has played 18 tests with a bowling average of 33 (not great but decent), shakib at 22 has played 13 tests with a batting average of 26 and bowling average of 30.
there are also guys like tendulkar (was 16), ponting (was 21), graeme smith (was 22), dan vettori (was 19 or 20) who start out young, play well from the get go and end up really good players.
the fact that he is young but has already played 49 tests should be a major benefit to his performance but he's still not doing well enough.
24 is young, but it's not so young that a player should be this inconsistent especially when he's been on the scene for 8 years.