Hi Stefano.
You see, in any team sports, there are two kinds of rivalries- 'historical' rivalries that are a result of socio-political causes(like Brazil vs Argentina in football, Toronto vs ottawa in NHL, Arsenal vs ManU in footbal, etc etc) and 'best of the best' rivalries- ie, when two high quality teams are matched against each other(for eg. Australia vs RSA in rugby)..
The former rivalry is largely irrelevant of how good the two teams are- it has everything to do with history and the clash of two nations. Australia vs England, England vs West Indies and India vs Pakistan are two such encounters.
They will always generate passion and mass following, regardless of how badly one team thumps the other( take OZ vs ENG for example- since 1989, AUS has won 28 matches, ENG has won 7 matches and 8 were drawn).
The latter kind of rivalries, as some have already said in the thread, comes and goes depending on how good the teams were.
In the 1960s, you had a triple header between Australia, West Indies and England, in the 1970s it was primarily Australia vs West Indies, in 1980s it was primarily West Indies vs Pakistan and in the 1990s it was a triple header between Australia, Pakistan and South Africa with West Indies initially figuring in the early 90s.
Since 2000, to some extent, it has been Australia vs India.
As per who plays whom and how many times, the ICC has a 4 year plan that highly recommends each team playing another twice- once at home and once away.
However, the number of matches per series and the precise timing of the series are decieded by the respective boards.
Note that it is a recommendation and boards can choose to cancel or postpone series if they wish to- India vs Bangladesh is a notable example.