It's hard to pick it now, great all-rounders like Kallis or Cairns tend to appear on both lists. Test cricket is generally regarded as the epitomy of cricket, so for one point, when players are picked for the Test side they are much prouder than if they were picked for the ODI side.
I think I see what you're asking though, why the best players can't play either game, why they're restricted. Players like Justin Langer, who are accomplished and easily capable of a high strikerate but still cannot make the ODI team. Obviously though, Langer will probably not make the ODI team because his prefered positions are taken by some of the best batsmen in the world and if they weren't, the selectors would most likely prefer to insert a young batsman, particularly in the case of Gilchrist, who will most likely be succeeded by Justin Haddin, therefore, an established high order batsman does not get a chance. Of course for Australia, it's easy to understand, their is a massive amount of talent at the fingertips of Cricket Australia. I will try narrow the reasons for selecting an ODI side down to as few as possible then. 1. for their performances, whether with bat and/or ball. 2. for their affinity with the team. 3. is for their youth/talent ratio; ie their ability to strengthen the team in future years and 4. is POLITICS POLITICS POLITICS. Particularly on the subcontinent, or so I hear...