Writing for television is a tricky thing. Creating good characters in the middle of the capitalist, pop culture-drenched whirlwind that is TV is a small miracle, relying on so many people (the writers, the casting director, the actor, the designers, the costumers) to execute things correctly. Sometimes, even if you do everything perfectly, things will still end on a sour note.

There are two types of bad endings to character arcs. The first is the more common: the character exits too soon or in a way that leaves the audience unsatisfied. The second is subtler: the character stays on the show for too many seasons, sticking around long after the writers run out of ideas for them. Like every other television network, The CW has its share of both of these. The CW's core programming slate is comprised of teen dramas, heavy on romance, intrigue, and twists. While the shows are addicting to watch, this means that they have to invest heavily in popular characters, and investments don't always pay off.

Supernatural, Gilmore Girls, One Tree Hill, The 100, and the entire Arrowverse all have characters that didn't get the ending they deserved. Whether the character made their exit thanks to the actor moving on or the writers mistakenly thinking their arc was completed, fans weren't happy. This list compiles those unfortunate character exits alongside characters that need to go from current shows on the same network.

These are 12 Character Exits That Hurt CW Shows (And 8 That Need To Go).

HURT: Crowley (Supernatural)

Crowley in purgatory in Supernatural.

Crowley only left Supernatural recently, but his absence is keenly felt by fans. Played by Mark Sheppard, Crowley was a main cast member on the show for several seasons after debuting way back in season five. He was a great demonic counterpart to the Winchester brothers' angelic pal Castiel, but he left in the twelfth season.

Judging from Sheppard's social media, Crowley won't ever be making a return, which seemed to some fans to hint that the breakup wasn't amicable. Either way, Crowley has already been sorely missed in the two most recent seasons, especially since he sacrificed himself to stop Lucifer, who ended up getting free anyway.

NEEDS TO GO: Penny Peabody (Riverdale)

Brit Morgan as Penny Peabody, the Snake Charmer, in Riverdale

Riverdale apparently made it its mission after season one to just get as weird as possible, and Jughead's continuing submergence into the world of the Southside Serpents was a big part of that. That meant dealing with Penny Peabody, who got into a power struggle with Jughead over the gang.

Fans pretty much thought her arc was over when Jughead exiled her to Greendale. Then, inexplicably, she returned to ally with Hiram Lodge and the Ghoulies. Nobody really wanted more plotlines where Penny tried to muscle in on operations, but they just keep happening and we're more than ready for her to go back to Greendale and stay there this time.

HURT: Lexa (The 100)

Lexa sits on her throne in The 100

One of the most controversial and contentious moments in the history of The 100 was when the writers of the show bumped off Lexa, one of the most interesting and beloved antagonists. Fans had loved her relationship with Clarke, and Lexa's sudden end felt unnecessarily tragic.

Fans revolted en masse against the show's use of Lexa, frequently bringing up a specific trope that a lot of underwritten LGBTQA characters fall into. LGBTQA relationships on television have a tendency to be tragic, and fans were vocally disappointed with the show for not rising above the cliché. The writers apologized for this, but Lexa was still gone, and the show still suffered for it.

HURT: Captain Cold (The Flash and Legends of Tomorrow)

The Flash Season 3 Infantino Street Barry Allen Leonard Snart

Captain Cold left The Flash so he could be a main character on Legends of Tomorrow, despite Captain Cold canonically being one of The Flash's greatest villains. That left an absence the show has struggled to fill.

After moving over to Legends, Leonard Snart started to take a turn to being more more of a hero, and eventually made a heroic sacrifice. This meant that the guy who had been a big boost to two different Arrowverse shows was now off both of them, and fans didn't get to see Wentworth Miller again. We like what we have of Snart, but we wish Captain Cold could have stayed longer.

NEEDS TO GO: James Olsen (Supergirl)

James Olsen seemed great in the early going of Supergirl, but as time went on it became clear that he just wasn't needed. Played by Mehcad Brooks, James has filled several roles on the show, and none of them memorably. After awkwardly taking over Cat Grant's job when Calista Flockhart left and becoming a superhero in his own right, James still hasn't managed to be interesting.

It was a good idea to make James an assertive hero instead of a whiny sidekick, but Brooks and the writers never made good on that potential. His vigilante persona Guardian is boring despite being a superhero, because it's basically just James wearing armor. Also, Guardian is one of the blandest names for a superhero ever.

HURT: Lex Luthor (Smallville)

Michael Rosenbaum as Lex Luthor in Smallville

Really, Smallville should have seen this coming. You don't just introduce a superhero's greatest villain in the first season and have him exit the show three seasons before the end. Lex Luthor (played by Michael Rosenbaum) appeared in the very first episode of Smallville and slowly went from Clark Kent's friend to his enemy, a satisfying arc that fans relished.

Then Rosenbaum left after season seven to move on with his acting career-- and not play a role that required him to shave his head every day. The final seasons of the show limped on without him, but the writers knew they couldn't end without Lex Luthor. Rosenbaum returned for the series finale, and fans realized that the show would have been much better if he had stayed.

NEEDS TO GO: Apocalypse Bobby (Supernatural)

Bobby Singer is one of the most beloved characters from all of Supernatural, and we were all overjoyed to see actor Jim Beaver return to the fold when the alternate reality of the Apocalypse World was introduced. We didn't expect to get tired of seeing him on the show, but we were wrong.

Apocalypse Bobby was fun for a while, but his anger towards angels was hard to work around and his differences from the normal dimension's Bobby were mostly just depressing. It's great to see Jim Beaver back on Supernatural, but this incarnation of the character just keeps reminding us how we miss the old Bobby. It might just be better to move on.

HURT: Deathstroke (Arrow)

Manu Bennett Not Returning For Arrow Season 5 Finale

This one really, really hurt. Deathstroke, as played by Manu Bennett, is far and away the best villain Arrow has ever produced. His history with Oliver Queen, his fighting skills, and his obsessively loyal nature made him a compelling foe and friend; a near-perfect foil for the Green Arrow to battle. Sadly, it was not meant to last.

Slade Wilson didn't leave Arrow because he was written out, or because the actor didn't get along with the writers or something. The show was forced to abandon his arc because the DC film universe was going to introduce him soon. Now, we're stuck knowing that we could have had more.

NEEDS TO GO: Eobard Thawne (The Flash)

The Reverse Flash Eobard Thawne Origin

Sometimes you just have to let a vanquished foe stay vanquished. Eobard Thawne was the main antagonist for the first season of The Flash, and after his ancestor Eddie Thawne offed himself to erase him from the timeline, we thought he was gone for good. We were wrong, as he continued to travel through time and try to wreck Barry Allen's life.

The Reverse Flash was a great opening villain for the show, but we're more than ready to move on. Eobard Thawne keeps popping back up in the story, and at this point he feels more like an annoyance than an archnemesis. Every reappearance dilutes the power he brought to the early seasons, so it would be smarter to just let him go.

HURT: Jess Mariano (Gilmore Girls)

Jess in Gilmore Girls

We're not going to get into the various arguments surrounding Rory Gilmore's love life, but it is pretty telling that more than one of her boyfriends left the show entirely once the relationship was over. These two were Jess Mariano and Dean Forester, but we'd argue that losing Jess hurt the show more.

Played by Milo Ventimiglia, Jess was a troubled boy who made up for his insecurities and lack of motivation with quick wit and a good sense of humor. He wasn't a perfect match for Rory, but he drove the plot of the show in much more interesting directions than Dean or Logan ever did. The writers were interested enough in Jess to propose his own spinoff, but that never materialized and fans just saw him inexplicably written out.

NEEDS TO GO: Octavia Blake (The 100)

The 100 Season three Octavia Blake At The Campfire

The 100 made a name for itself as a teen sci-fi show that was completely unafraid to force its characters into impossible situations and make ridiculously hard choices. Leaders tend not to last too long on this show, as the cycles of power are quick and bloody. Thus, i's very impressive that Octavia Blake has become such a powerful figure on the show-- but it's time for the sword to fall.

Octavia's arc has been a good one; taking her from sheltered second child to rebellious teen to hardened warrior. As a result of this, she has a dark side, and it strains her relationships with other characters and her leadership skills. Even her brother has wished her dark side would go away, and we feel the same.

HURT: Peyton and Lucas (One Tree Hill)

One Tree Hill went through a lot of characters thanks to its time-skips and its nine seasons on air. Nothing was a bigger blow to the show than losing Peyton Sawyer and Lucas Scott (Hilarie Burton and Chad Michael Murray) at the end of season six.

These were literally two of the main characters of the show, and when they were gone a lot of fans felt like the show had lost a core component of its identity. We certainly can't blame the actors, given what has been revealed in recent years about show creator Mark Schwahn's harassment of female employees.

NEEDS TO GO: Major Lilywhite (iZombie)

Some characters brought onto a show to be a love interest end up not meshing with the show. Arrow encountered this with Laurel Lance and made the hard choice to write her out, and iZombie needs to do the same with Major Lilywhite. He just isn't an engaging character anymore.

Major's on and off relationship with Liv was one thing, but after the latest breakup, it seems that they aren't likely to get back together again. In the most recent season, he converted into a kind of military dictator, and it became clear that the writers were out of good ideas for him. They should have just bit the bullet and let him go.

HURT: Cat Grant (Supergirl)

Supergirl Resist Cat Grant Calista Flockhart

A main cast member in the first season of Supergirl, Calista Flockhart played Kara Danvers' boss Cat Grant, who figured out Supergirl's identity easily. Cat Grant was one of the best characters in the first two seasons, but her role was downgraded to recurring in the second season, and she vanished entirely after that. Her last episode was the season two finale.

This wasn't the show's fault, as Flockhart apparently didn't want to relocate to Canada for the show. Fans loved her, but that wasn't enough to make her want to continue playing the character. Without Cat Grant, the show's dialogue-- especially on the civilian, non-superhero side of things-- fell noticeably flat.

NEEDS TO GO: Heather Davis (Crazy Ex-Girlfriend)

Heather talking in Crazy Ex-Girlfriend

Like many other characters on Crazy Ex-Girlfriend, Heather Davis seemed stuck in a loop of laziness and poor decision-making. She was fun to watch and Vella Lovell plays her well, but at a certain point she feels a bit extraneous to the rest of the show. The showrunner even admitted that they made Heather pregnant in the third season just to give her something "she couldn't quit."

It's hard not to feel like Heather's plotlines are shoehorned into Rebecca Bunch's story, as a lot of her arcs involve her getting in on drama that doesn't concern her or getting involved with people who really want to be with somebody else. She's one of the smarter characters, but she just isn't that necessary.

HURT: Lala (Black Lightning)

More than one outlet made the comparison to Luke Cage during Black Lightning's first season, largely because the shows made the same mistake. They each had interesting villains in the early episodes who were then replaced by a much more cartoonish "main" antagonist, and Black Lightning's version of Cottonmouth was Lala, a gangster from season one.

Black Lightning's Tobais Whale took over villain duties when he offed his minion Lala, and he didn't end up a bad villain in his own right (Luke Cage's Diamondback can't say the same). Lala had developed a compelling "adversarial relationship" with Black Lightning, and fans and critics alike were disappointed that there was never any resolution there.

HURT: Greg Serrano (Crazy Ex-Girlfriend)

Santino Fontana as Greg in Crazy Ex-Girlfriend Season One

Greg Serrano, Rebecca Bunch's insecure slacker friend played by Santino Fontana, was a fan favorite in the first two seasons of Crazy Ex-Girlfriend. Unfortunately, Fontana had signed a one-year contract at the beginning of filming so he could keep up with other creative commitments, and the writers had to find a way to complete his arc by the end of season two.

They did, sending him to Emory University. This, however, opened the door to Rebecca having a subplot where she wanted to talk to Greg and somehow ended up with Greg's father. Fans, understandably, did not enjoy this. Greg is returning in season four played by a new actor, but it's hard to forget the awkward plot line that took place in the interim, one that could have been avoided if Greg had stayed on the show.

NEEDS TO GO: Ricardo Diaz (Arrow)

Ricardo Diaz holds a vial in Arrow

Arrow has a villain problem. After the days of Slade Wilson and Ra's al Ghul, the likes of Ricardo Diaz is a noticeable step down. Diaz is a pretty average crime boss; only really remarkable because of his drive and ambition. He fights well and plans well, and that's pretty much it.

The actor who plays Diaz, Kirk Acevedo, started in a recurring role in the sixth season and was upgraded to main cast status in season seven. He seemed to finally have been defeated multiple times in that span, but he always finds a way back into the main plot. At this point, we're very ready to return to some more cartoony villains if it means dropping Diaz.

HURT: Gabe Lowen (Beauty and the Beast)

Beauty and the Beast seemed to have a problem with its police chiefs. In the first season, the chief Joe Bishop lets his anger get the better of him and tries to wage war against Vincent, and he winds up written out by the start of season two. Then, Gabriel Lowan took over the precinct, only to become the main antagonist and get bumped off in the finale.

Gabe started the second season on the path to redemption; no longer a Beast and looking to atone. He was compassionate until Catherine broke up with him, whereupon he went crazy and tried desperately to attack Vincent. It was an abrupt villainous turn that ended with his swift exit. Fans had to wonder why the writers chose this route, because he could have been much more.

HURT: Elena Gilbert (Vampire Diaries)

Elena Gilbert Vampire Diaries

Elena Gilbert was the central protagonist and one of the best characters on The Vampire Diaries, mostly thanks to her dynamic, steadily-paced arc that spanned every season she was in. Going from a human girl-next-door type to a full-fledged vampire, Elena (played by Nina Dobrev) kept fans coming back to the series.

Thus, fans were mystified when Elena went into a magical slumber for the final two seasons of the show. Dobrev apparently decided she had to leave the show, causing massive narrative upheaval. The show was never the same after losing Elena, and it only limped on for a couple more years. Dobrev did come back to give Elena an ending in the series finale, though.

---

What CW character do you think needs to go? Let us know in the comments!