The parties outside the main two cannot win because they're always going to be a minority. If a minority could still hold a minority of the seats for getting a minority of the votes, the landscape would be vastly different.
Instead, we have an average vote system based on geographic region that can only allow for major parties to hold seats.
This is not the case in all democracies - most european parliaments have more than two parties because of the difference in the way minority votes are handled.
This is a failure of US-flavor representative democracy.