Before going into the crux of this topic, let's start with asking, what exactly is a "faction"? When you go into the diplomacy menu, you will see that under a race's relationship statuss, you will see either "Loyalist" or "Rebel". This is what a faction is; in other words, it's a string. Strings are interesting as they can have the same value, but have a different ID. For example, you can have two strings, IDS_PLAYERFACTIONNAME_LOYALIST1 and IDS_PLAYERFACTIONNAME_LOYALIST2, with the actual value of these strings both being "Loyalist". This is notable as it means, if one so desires, one can change the faction of a player, according to how Sins processes this, while not truly changing anything for the player visually, i.e. from the status quo. This will be expanded in more detail later on.
Now onto how this actually works. In research files/requirements, there is an value called "RequiredFactionNameID". Currently, there is nothing in the game that makes use of this. What it means is that a player's faction can determine whether X tech can be researched, or even whether X ability or Y ship can be used according to their faction. The latter is merely an alternative to requiring Z research being done, which is interesting and brings up it's own realm of possibilities. However, in truth, it isn't all that revolutionary. The former is, and that is the focus of this discussion. Before I go on, I will lightly touch upon the abilities portion, as it will of no doubt be useful to some people.
The aforementioned abilities requiring X faction is useful, as one can setup a ship with multiple abilities, for the purpose of this example let us call them "Shield Restore", "Increase Weapon Output", and "Buff Allied Ship". They are only in use when the player is a part of the Loyalist, Rebel, and Neutral faction, respectfully. These three abilities are on Some Battleship, a cruiser of the Yureg race. The Yureg race is by default set to being a part of the "Loyalist" faction, which meaning the first ability is in use. Somewhere down the race's research tree, which is set up to mirror the timeline/history of the Yuregs, it has a branching point, the option to declare the independence of their system and become neutral in the conflict or rebel against the monarchy. Say they decide to rebel, and suddenly their Some Battleships are now offensively oriented, as the second ability is now active and the first is not. Later on in their current research path, the Yureg sub-faction has the option of returning to the monarchy, or one again declare their independence. They decide to declare independence, and now their Some Battleships' capabilities change once more, becoming more fleet-oriented as "Buff Allied Ship" becomes active.
Alternatively, of one wanted to let the Yuregs choose between between the Rebel faction and the Loyalists, they could have a copy Shield Restore which calls upon a different faction, so when the Yuregs get to the first branching point, they could choose to either remain loyalists, which would activate the second Shield Restore or become rebels.
With that aside, the second part on how this works is a researchModifier, SetFaction. This is notable for the single fact that it can be used even if a player is already "in" a faction. For example, a research item can be set up like in this example. One can even be a part of the "Rebel" faction and be changed to the "Loyalist" faction! Alternatively it can be the same value, even if it is technically a "different" faction, as seen here.
This leads into the heart of the topic, the possibilities that this brings, to modders. There are a few ways to use this. The simplest thing to do, is to allow for a race to choose between their two Titans without creating a whole new PlayerRACE file. This is what I have done for SoGE, which can be seen here for reference, where one player wisely chose the Executor SSD over the other option. Another, more complex, way is making chains and paths, which I have to actually make so I can give you a picture example (and the mod itself!), which I will do once I post this and will edit it in later. The chains and paths method is quite notable and useful as it can be used to make certain research techs permanently un-researchable. Edit: What I had in mind, while theoretically possible, does not seem to work in reality. Probably an engine thing. I'm thinking up/attempting another method in the meantime, will take a little while to make it though.
From what I have seen, it is quite evident that this system was developed in great detail before it was ultimately decided that it would not be used. Due this, I must tip my hat to the folks at Ironclad and Stardock and thank them for creating it, and for leaving it in, as it gives us modders many, many research possibilities. This brings me to the limitations of the faction system, one of which, I believe, is one of the factors that lead the developers to switch to the traditional PlayerRACE setup: space. The largest limitation for faction system is that there quite simply is a limited amount of space avaliable for research icons, which can strangle the what one may want to do with this system. For modders this isn't as bad; one can re-purpose unused portions of the Diplomacy and Defense pages, and rework the Fleet Logistics page, for example.