Didn't see a thread for this, so heck, I'll start my own.
I think if you want factions in your game, think about the goals of the factions. Rather than having factions based on classes, have one that wants goal X and another that wants goal Y. If the players get basic info on factions, some might want X and some might want Y. One fighter and the mage like X, while the cleric and the rogue like Y. Second fighter doesn't care.
Let that ride for a while, and then have X and Y both want the same thing. Conflict! The basis of interesting story.
Or just play Blades in the Dark. 😆