It would seem that British actor Henry Cavill has landed many iconic roles throughout his career: Superman, Sherlock Holmes, Geralt of Rivia, Theseus. However, he has also faced setbacks when he was denied major franchise roles. Let's go through them.
"Batman Begins" (2005): Henry was considered for the role of the Dark Knight, but he was never called for auditions. Ultimately, the superhero was played by Christian Bale.
"Superman Returns" (2006): The actor passed the casting, but then the film project stalled, changed its title and lead actor. Instead of Henry, the man in the red cape was portrayed by Brandon Routh. However, as we all know, Cavill eventually donned the suit with the letter S. He even thanked fate that it happened when he was more experienced.

Source:
IMDb
"Casino Royale" (2007): The role of Agent 007 in this franchise installment went to Daniel Craig, but Cavill was the second candidate on the list. He was probably considered too young for James Bond at the time.
"Twilight" (2008): Stephenie Meyer dreamed of seeing Henry in the role of the vampire Edward, but he was already too old for the character. Meanwhile, Robert Pattinson was younger.
"Harry Potter and the Goblet of Fire" (2005): For the same reason, Cavill lost out to the same actor during the audition for the role of Cedric Diggory. The 20-year-old didn't look like a schoolboy. "Green Lantern" (2011): Henry auditioned, but the competition in the project was too fierce. The superhero role went to Ryan Reynolds. In the end, Reynolds didn't celebrate much, as the blockbuster turned out to be a flop.
Thanks to the portal Just Jared for the selection of films. Previously, zoomboola.com wrote about the roles Timothée Chalamet missed.