There are mechanical reasons for the 2 party dominant system in the US and other countries as well. If you take a theoretical system that has 3 preference groups, proportioned at say 30%, 30% and 40% of the population. Call them Left, Center and Right. In a system like the US where the first party to get a majority of votes wins, Right will win an election with 40% of the votes. Assuming that their goals aren't diametrically opposed, it only makes sense for Left and Center to team up in the next election, which they would win with 60%.
For a real life example, see Ralph Nader & Al Gore in 2000, or Perot & HW Bush in 1992. One side's preferences were split between two candidates and that let the other side win.