Student or Learner
From my experience 'refrain' is more widely used. Am I right here? How's about them being archaic, formal, bombastic? Do they both carry the meaning of fighting one's own needs?
(Not a teacher)
I would say 'abstain' has a moral connotation; that the person is doing it for moral/religious/spiritual reasons, or that the thing the person is abstaining from is bad to that person. 'Abstinance' generally refers to abstaining from sex, although it can be used for anything. I wouldn't say abstain is any more formal than refrain.
There is a slight difference in meaning. One can refrain from saying something. One cannot abstain from saying something.