You nailed it, the two parties are actually many parties and factions under big tents. It forces the compromises to be made at the party level. It's better than the alternative.
--It forces the compromises to be made at the party level.--
Compromise in politics is like cowardice on the battlefield.