Normally, if I hear somebody say "I would have stayed", I would expect a "but" coming along stating the reason why instead the speaker did not stay. Or, I would expect subsequently there will be an adverbial phrase/clause of time as in 'I would have stayed there for 3 months by the time he arrived.'
However, consider this scene where Edward answers Jacob's question about how he was doing while being away from Bella:
For over six months I was able to stay away, to keep my promise that I wouldn't interfere again. It was getting close—I was fighting but I knew I wasn't going to win; I would have come back ... just to check on her. That's what I would have told myself, anyway. And if I'd found her reasonably happy... I like to think that I could have gone away again.
But she wasn't happy. And I would have stayed. That's how she convinced me to stay with her tomorrow, of course.
— Eclipse: Stephanie Meyer, pub 2007 Hachette UK
The novel is written in the past tense. Edward had come back to Bella by the time of utterance. He did choose to stay. So what would the difference be between "I stayed" and "I would have stayed" in this situation?
It's the same issue with "I would have come back": why the perfect tense?