A fork could be created just by taking the existing longest chain, and attempting to append a block to the frontiers blocks parent, or even to the frontier block itself. It's pretty simple. The time between blocks still is non-deterministic, and not often is there realistically a clear winner.
There existing n forks, even at a bare minimum of 3 forks of the same height is very common, especially if you consider how many miners there are in the entirety of the Bitcoin network.