By Charlie Jane Anders and Katharine Trendacosta. It's an unfortunate fact of life: roles get recast all the time. Sooner or later, Robert Downey Jr. will quit playing Tony Stark. Once Upon a Time is said to be recasting its Mad Hatter. Game of Thrones has already recast a few minor roles. Usually, when an actor is replaced, it's a disaster — but not always. Here are 12 occasions where a role was recast... and it worked.

We don't have any reboots or remakes on this list — these are all cases where the continuity remained the same, except one or more castmembers changed.

1) The Dark Knight

Rachel Dawes went from Katie Holmes in Batman Begins to Maggie Gyllenhaal in The Dark Knight. While some may say the hate for Katie Holmes has less to do with her actual acting ability than her controversial marriage to Tom Cruise, she's definitely not the strongest link in Batman Begins. And it's hard to argue that Maggie Gyllenhaal didn't do a better job with the role.

2) Star Wars: Return of the Jedi

We first met the Emperor, Darth Vader's boss, in The Empire Strikes Back, and he's played by Elaine Baker and voiced by Clive Revill. And then, when we meet him again, in both Return of the Jedi and the prequels, the character is played by Ian McDiarmid. (Also, digitally inserted later into Empire because George Lucas). It's doubtful anyone really noticed the replacement, but McDiarmid is excellent in the role. He's even one of the better things in the prequels.

3) Doctor Who, "The Five Doctors"

As we come up on the show's 50th anniversary, it's worth remembering when it turned 20, and all of the surviving Doctors came together. Except that Tom Baker was only represented by footage from a scrapped story, and William Hartnell, the original star, was dead. So the producers had the unenviable task of finding a new First Doctor — and they came up with Richard Hurndall, who does a credible job. He doesn't mimic Hartnell, but puts his own spin on the character, and it mostly works really well. You can watch him sharing the stage with Jon Pertwee and Patrick Troughton, and almost imagine we're getting the team-up of the first three Doctors that we didn't quite get in 1973.

4) Iron Man 2

There are a lot of things wrong with Iron Man 2 — but one thing that is right is James "Rhodey" Rhodes. Terence Howard was perfectly decent in the role in the first movie, but Don Cheadle proves an excellent replacement the second time around. He brings more humor and good nature to the role, but you also sense that Rhodey is more than capable of standing up to Tony, and that the two of them really do have a history together. When Iron Man 3 opens next month, we might all be glad they recast Cheadle as Rhodey.

5) James Bond

Is Casino Royale a reboot or a continuation? They kept Dame Judi Dench as M, so it feels like the series is continuing in some form. The continuity of James Bond films is a tangled subject that could no doubt fuel someone's PhD thesis. But in any case, most of us would probably agree at this point that Daniel Craig was a superior choice to play Bond, at least as suitable as Pierce Brosnan. Or if you want to reach back further, you can pretty easily argue that most of Craig's predecessors were at least successful, if not superior, in the role. Timothy Dalton's films may not have had the best scripts, but he was a decent Bond, and a breath of fresh air after too many Roger Moore films.

6) Lois and Clark: The New Adventures of Superman

Jimmy Olsen is a key member of Superman's supporting cast, and this show made a major change — the first season had Michael Landes playing Jimmy as very sure of himself (and also, according to the producers, looking too much like Dean Cain). After that season, Justin Whalen was cast to play the character in a much closer fashion to his original comics and movie incarnation.

7) Stargate SG-1

From the original Stargate movie to the TV show SG-1, almost every character that went from the movie to the show was recast — although the show followed the movie in continuity. The popularity of the TV series is a good indication that the recastings were considered acceptable, or possibly even superior. Especially in the case of Jack O'Neill, where the change from Kurt Russell to Richard Dean Anderson resulted in a massive personality change. (Maybe explained by it being further from his son's death.)

8) Buffy The Vampire Slayer

Similarly, this TV show followed up the 1992 movie, with some slight changes in backstory, rather than starting over from scratch. And most of us would agree that not only is the TV show better than the movie, but Sarah Michelle Gellar is a marked improvement on Kristy Swanson in the title role.

9) Batman 1960s

Back to Batman — long before Maggie Gyllenhaal took over as Rachel Dawes, the TV show had a revolving door for the role of Catwoman. The series' first two seasons had Julie Newmar as Selina Kyle, but when she was unavailable for the tie-in film, Catwoman was played by Lee Merriwether. Then, season three went with Eartha Kitt. Merriwether may not have been bad, but Eartha Kitt's portrayal is certainly more fondly remembered.

10) The Avengers

There are a lot of moving parts in Marvel's huge superhero team-up film — and at no point do you stop and go, "Wait, where's Edward Norton? No Norton, no Banner." Both Banner and the Hulk look somewhat different, but Mark Ruffalo does such a great job of capturing all the facets of Banner's anger and heroism, you hardly care. Even if you liked Norton as Banner, you'd be hard-pressed to argue that Ruffalo is a lesser choice.

11) Terminator: The Sarah Connor Chronicles

And finally, one more TV show that slots into the continuity of a movie universe, rather than serving as a reboot or revamp. You could quibble with the casting of John Connor — Thomas Dekker grew on me over time, and he's a more suitable replacement than Nick Stahl — but there's no question that Lena Headey owns the role of Sarah Connor. To the point where we now imagine her as the character, rather than Linda Hamilton. Headey is just so intense and multi-layered as Sarah Connor, she makes the character come alive.

12) Harry Potter

Can't believe we forgot this one. When Richard Harris, who played Dumbledore, passed away, they replaced him with the superb Michael Gambon.