I'm surprised so many people are rallying around Lupin and defending him. Lupin proved in book 3 that he had cowardly tendencies (maybe not to the extent of Pettigrew, but still).
Fact: Lupin admittedin POA that Snape was correct in suspecting him of helping Sirius Black. This was BEFORE anyone (including Lupin) knew that Sirius was innocent. When Black broke into the castle, Lupin didn't want to admit to himself that Black might have used his animangus powers to do it. Instead Lupin tried to convince himself that Black was using Dark Magic, so he wouldn't have to face the truth (Lupin says this outloud, so it is canon). Even if he thought Sirius was using Dark Magic, shouldn't the responsible thing to do would be to at least mention the fact that Sirius was an animangus to Dumbledore, especially while everyone is scrambling around trying to figure out how a serial killer broke in? But no, Lupin keeps his mouth shut because (and he admits it), he didn't want to admit that he broke Dumbledore's trust all those years ago when he was a teenager. He was afraid of the reaction he would receive if Dumbledore found out that he willingly put other students in danger so he could run around the Forbidden Forest as a werewolf with his friends. So instead of admitting that he made a mistake all those years ago, and that now they had to reap the consequences of said mistake, Lupin preferred to shut his eyes and feign ignorance, which could have easily wound up killing Harry Potter. God forbid Sirius really was a psycho killer, Lupin's inability to take responsibility and fess up could have cost his best friend's son his life! But to Lupin, being liked and trusted by everyone was more important to him than doing the right thing as a guardian and teacher. For that reason alone, Lupin should have resigned his post even before his condition was revealed to the students.
Then in the later books, we find out that Lupin was made a prefect in his 5th year. Do people realize what that means? A prefect is just a step down from a teacher. A prefect has responsibilities to make sure that the students are following the rules and to enforce discipline when they witness rule breaking. They are supposed to be leaders for their house and set an example for others to follow. Lupin was made prefect in the hopes that he would contain the Marauders, but when he witnessed three students ganging up on one, hexing and harassing him (it doesn't matter if Snape may have done something nasty in the past, he was minding his own business on that day, and there really is no justification), Lupin pretended not to know what was going on and allowed a blatant example of cruel bullying to occur. It would be one thing if he was just an ordinary student supporting his friends, but this sort of behavior is inexcusable since as a prefect, it was his responsibility to look out for ALL students, not just his friends. He neglected his duties because, once again, his own desire for friendship was more important than doing his job and protecting students. (anyone who rails against Snape's horrible behavior towards Harry in the books, should have little tolerance for Lupin's allowances here either. Lupin is just as bad, but it seems he gets a pass because he's not so actively nasty; he just allows nasty things to happen to others).
Honestly, I'm glad Harry called Lupin out on his behavior in book 7, because someone needed to show him what a coward he truly was being. I don't believe a word that Lupin says that he thought that thought he was protecting his family. Here's a direct quote from Lupin.
"Don't you understand what I've done to my wife and my unborn child? I should never have married her, I've made her an outcast! And the child - the child...my kind don't usually breed! It will be like me, I am convinced of it! How can I forgive myself when I knowingly risked passing on my own condition to an innocent child?! And if, by some miracle, it is not like me, then it will be better off, a hundred times so, without a father of whom it should always be ashamed!"
So Lupin admits that Tonks WILL (not may, will) be shunned as an outcast because she married him and was carrying the child of a werewolf. How would abandoning her to raise the baby alone have changed that? So Lupin was willing to let Tonk be an pariah without support from her husband. Lupin also was convinced that child would end up a werewolf. Well, shouldn't that be even more of a reason for Lupin to stay? To help his child when it's too young to understand what is happening? But here's the clincher for me: Lupin says that if the child is not a werewolf, it would be better off to not have a father at all than one whom he would be ashamed of. That to me shows that Lupin wasn't really trying to protect his family (he pretty much admitted that it was too late for them anyway), but he couldn't stand the thought that his child might possibly resent him, so he would rather take himself out of the picture entirely. This is just selfishness on Lupin's part, and is consistent with his characterization from the previous books. Lupin was looking for an excuse to run, and the hunt for the horcruxes was the perfect opportunity to run away while still look like he was doing something noble in the eyes of everyone.
Look, I'm not saying that Lupin is a bad guy, he's obviously not, but he does glaring personality flaws that I see too many fans like to overlook or gloss over. Everyone likes to remember Lupin as this brave, mature, kind, sensitive teddy wolf who just needs a hug because of his "furry little problem". In canon, he's really more like Snape or Sirius: he's a somewhat selfish overgrown sixteen-year-old who never really grew up.
Kudos to Harry for calling Lupin out finally on his bull. It had to be done, even if Harry did feel bad about it later.