It's no secret that I love Crowley from "Supernatural". It's been pointed out by others that he's the personification of my id. I think Mark Sheppard's performance as Crowley is perfection. Likewise, I loved the character of Spike from "Buffy the Vampire Slayer" and James Marsters' performance. What do both of these characters have in common? They're both villainous, snarky assholes from Great Britain, and both villains proved to be so popular that not only were they not killed off, they were promoted to series regulars. However, execution is everything and one of these shows went wrong in its approach, and shockingly it wasn't "Supernatural."
Spike first appeared in the second season of "Buffy the Vampire Slayer" where he was introduced as a starter villain who would have died halfway through the season, paving the way for his girlfriend, and perhaps the true villain of the season, Drusilla to take center stage alongside Angelus (once Angel lost his soul). Dru gets a lot of background build up throughout the first half of the season, while Spike tries to restore her to full power. Along the way, Spike becomes massively popular and when the mid-season arc hits, he is spared... crippled and moved to the side, but spared. The decision to spare Spike was a good one, as he had great chemistry with everyone around him, alongside being a charming, viciously evil killer.
The second season ends with Spike deciding that he wants to help save the world, but not for altruistic reasons. He likes the world, prey is easy to find, and he wants Dru back... who has now sided with Angelus. He allies himself with Buffy so he can escape with Dru, and at one point just leaves Buffy to die at Angelus' hand with a simple shrug. Between seasons, Dru dumps Spike and he returns to Sunnydale as part of an effort to win her back over. It fails, and then he returns to Sunnydale a year later to gain power, before fleeing and returning yet again for vengeance only to be captured, neutered, and forced into an uneasy alliance with Buffy where his role pretty much becomes the snarky, sarcastic asshole who calls her an idiot. He was brought in to replaced Cordelia Chase who had moved over to "Angel" only the producers realized that the character of Anya did it better, so rather than write Spike out, they arrived at a different solution.
And this is where Spike, as a character, lost me. Out of no where, he fell in love with Buffy. His enemy. The girl he had been obsessively trying to murder for three seasons and counting. What's worse, we have a flashback retcon that the real reason Dru dumped him was because she knew he was in love with Buffy and that's why he helped Buffy defeat Angelus... never mind that doesn't correspond with anything we saw on screen. He didn't help Buffy save the world, he left her to die and escaped with Dru. He spent his one appearance in season three conspiring to win back Dru. The whole "he was in love with her all along" retcon doesn't gel with anything we have seen because that didn't exist in the writing and directing of the show up until now. It was clumsily inserted in and, in my opinion, it never worked. Ever. Now, I won't deny that Sarah Michelle Gellar and James Marsters had a ton of chemistry, but that didn't make the writing to exploit that chemistry any less lazy.
Spike fared much better once he moved over to "Angel". While the foundation was flimsy, he was an antagonist to the titular character, which is a role he played far better than love interest.
Now, where did Crowley go right? He was a cunning, pragmatic, demon who helped the Winchesters defeat Lucifer and then rose to the position of King of Hell. He didn't help them due to altruism, he did it out of self preservation. He knew Lucifer would wipe out demon kind once he was done with humanity. So, right there, working with the Winchesters was something he was willing to do in his very first appearance. From there on out, he had schemes which the Winchesters would foil, or where they would play as his unwitting pawns. He was a dangerous enemy, but he also positioned himself as the devil they know, as his position might be usurped by a demon that wasn't as pragmatic and might do damage on a grander scale.
Crowley became a regular in season nine, following an attempt by the Winchesters to cure him of being a demon by injecting him with human blood and restoring his mortality. The cure was incomplete, but Crowley had enough blood in him to restore some of his humanity, it made him want to feel something. He remained a scheming bastard, but he grew fond of the Winchesters in a creepy way. He was still willing to manipulate them, and even kill them, but in his own way, he liked them. In short, he never stopped being a villain. When he and Dean Winchester had "their summer of love", it was when Dean was temporarily a demon inflicted with the Mark of Caine. Yes, Crowley was fond of him, but he was also a powerful resource. Later that season, when his mother, Rowena returned, he tried to forge a connection despite griping about her abusing and abandoning him centuries ago... that didn't work out, and they became bitter enemies. When Sam Winchester failed to kill Crowley (as part of a deal with Rowena to remove the Mark of Caine), Crowley bled out all the human blood that he had been injected with, consumed, and was back to his old self, all while thanking Sam for reminding him what he was.
Where Crowley goes from here, we have yet to see. But, and while it pains me to say this because, if I'm honest, as a whole "Buffy" is probably the better show than "Supernatural" (particularly if we're talking about the post-Apocalypse seasons), this is an area that "Supernatural" stands heads and shoulders above Buffy on. Is it absurd that Spike and Crowley survived for so long? A little. But "Supernatural" justified the continuing presence of their evil, snarky, Brit more than "Buffy" did. All because of one thing, "Supernatural" never forgot what Crowley was.