Well, there are a couple of major factors:
1. Your rating. A piece up isn't always a winning advantage. Against a 2000 in online chess I'd probably resign after going a piece down. Against players below 1600, I've probably recovered the game more often than I've lost.
Not only this, but the higher rating you play at, the more likely your opponent recognises an obviously lost position.
2. Playing friends. If I'm playing someone I know, I also resign early, just because it's not in my interest to drag out a game against them. People probably wont want to play you again if you do so.
I have seen that in many games in online chess positions with 3 day time control , the games run on endlessly even when u have a completely won position ( bishop up, king and pawn ending with many pawns) It is very irritating