I have read that the cricket Law states that should a player wish to switch countries and play for another country, he must wait for 4 years. there are many examples too. Why is that so? why does the law restrict a person to wait for four years before he is eligible to play for some other country ?
What would you have? People jumping from one country to another on a whim?
The eligibility requirements often mean that players are qualified to play for more than one country (due to grandparents, etc) - would you have (e.g.) Kevin Pietersen playing for England in the first Test Match of a series, then playing for South Africa in the next Test?
As the cycle between World Cups and the like, four years is a reasonable amount of time which means that a player has truly moved from one country to another, and isn't just playing for whichever flag of convenience will happen to pay them the most this week.