The anti-hero is
the hero who does the right thing, albeit with tactics that aren't always what you would call ethical. They are more interested with getting the job done than doing it as virtuously as possible, therefore showing how
morally ambiguous they are. The anti-hero has become more popular with society today because people can identify better with the good-guy who sometimes does the not-so-good things; the hero who does no wrong is outdated and is becoming increasingly irrelevant in this
day and age. They are the product of a society in which the line between good and bad is becoming harder to tell.