I knew for years. Had to stay because I knew what kind of person he was (meaning, I knew if I left him he'd fuck me out of support one way or another, so I had to be able to support my son by myself). I cut him off from pussy and basically just "lived" with him. Shortly after my six month review at the job that would allow me to support myself and my kid, I hooked up with a lawyer, found an apartment and got the hell out.
As for what flipped the switch, it wasn't one big thing, it was really a whole bunch of things big and small, that just kept piling up and slowly eroded my respect and trust of him. It seemed like we argued about the same issues, over and over and over again. I think I remember saying to him that we'd been having the same fucking arguments for more than eight years. That shit just gets old. We had different life priorities.