Because he is a good batsman at batting out hours and scoring at 50 or so per hundred balls. He is not a batsman that strikes at 100 runs per 100 balls or even close most of the time.
Making him captain of the 50 over team is just pathetic given he is not a decent 50 over player.