it really depends on the two people in the relationship. If the cheater is truly remorseful, recognizes the pain they caused, and wants to do whatever it takes to make it better, and (VERY IMPORTANT!) if the cheated is willing or even able to forgive - truly forgive - not just say it and then throw it back in the other's face when they get mad/upset, and that person must be able to regain trust in their partner and have a sense of security (insecurity is cancerous to even the best relationships). If they can successfully do these things, there is a chance of it working.. but it isn't easy!
I have been cheated on in the past, granted they weren't super serious relationships, but I'm not a person who can forgive easily so as soon as I found out we were over. As for my current bf, we've been together for years, and I really do not believe he would ever cheat on me (I think he would be honorable enough to leave before he cheated). However, I made it ubundantly clear that if he cheated, and I ever found out about it - he and I would be done. No discussion, no "trying to work it out" just done.
I know myself, I know I could never feel the same way about a sig other who cheated on me, I could never be secure in the relationship again, I cound never fully trust him, I could probably never let go of the resentment either... i know it would be best for both parties if we ended it at that point instead of dragging it out and eventually the relationship collapsing under the weight of those terrible emotions anyway. That's why it is so important for both people to know themselves, know what they are capable of dealing with, and know that they will give it 110% to make it work. If one or both people can't, the relationship is doomed no matter if you end it right after the indescretion or not.