People use the word "antihero" so loosely it has really lost its meaning. Before, an "antihero" was just a "bad guy" who did good things, like Dexter Morgan. He's a serial killer; he's a high-functioning sociopath who does feel emotions and love and knows right from wrong, but he kills bad people, so he's an "antihero". Punisher is a mass murderer. Yes, he kills criminals, but unlike other heroes who kill in self-defence when there is no other option, he kills every criminal he sees, even street criminals. He does this because he likes being in war and likes killing people, so he decides to only target those who he thinks deserve it, and those who he deems "deserve" it are criminals, and sure, on occasion, he will help a hero or two. Deadpool is a mercenary; he does what he does for money. He kills bad people and goes on missions, but mainly for money does he do good things? Sure, but he does it for morally questionable reasons.
I'm going to focus the term "antihero" mainly for comic book and superhero characters. A lot of people think an "antihero", when it comes to superheroes, is just an "edgy" or "R-rated" superhero or a superhero who curses a lot or just has negative flaws. Mainly a lot of people use the term "antihero" for characters who aren't Superman- or Spider-Man-level goody-two-shoes boy scout characters. Like, people will call Spider-Man 2099 an "antihero" just because he isn’t a Boy Scout. No, Miguel is a hero. through and through; just because he's a bit of a dick doesn't mean he's an "antihero".
I see people calling the characters in Invincible "antiheroes" just because they are not "boy scouts". People call Immortal, Duplikate, and Rex Splode "antiheroes" just because they are human with human flaws and realistic personalities; that doesn't make them "antiheroes".
Rex isn't an "antihero" just because he cheated on Atom Eve. Yes, he did a bad thing. Yes, he was an arrogant arsehole, but guess what? He still put his life on the line for his team, did the right thing and was still a good person. Despite having some annoying personality traits, he was a hero through and through.
Immortal and Duplicate aren't "antiheroes" either. Yes, they are hypocritical, a bit whiny and self-righteous, but they still save people's lives for no other reason than that they want to help and help their team.
I like Invincible because every character is just a flawed human being who just so happens to have superpowers, and they go out saving people.
Are they antiheroes? No, they are just superheroes.
An antihero was not and is not a "bad guy who does good things". It's a person who lacks the usual hero characteristics taking up the role of a hero.
Shrek is the perfect example of an antihero.
An ugly big green ogre who is rough and uncouth, sent on a quest that isn't his own, yet still fulfills the role of hero.
Shrek is a big mean ogre who wants to get rid of the fairy tale creatures dumped in his swamp and in order to get rid of them he accepts a deal that he first has to rescue a princess.
While I agree he definitely starts out as an antihero I'm not certain I agree that it's the rough, uncouth or ugly characteristics that makes him one but rather what drives him ("I want my peaceful swamp back!" isn't exactly an altruistic quest). But then, the definition of what a hero is isn't exactly clear either which makes defining the antihero all the more difficult.