I don't mean to downplay the actors, but a lot of the problem is the writing.
I suspect given the same script that Christopher Reeve would still be a better Superman than Henry Cavill, but Cavill's biggest problem was his scenes and dialog in Man of Steel and Batman v Superman. Reeve would have been every bit as dumb with "save Martha!" and Cavill never got the chance to play the bumbling but adorable country boy with lines like, "Well gee, I don't know, Lois!" and "Golly!". Cavill never got to play off the transition from bumbling, awkward Clark in his disguise to Superman. All that is not his fault.
Likewise, the biggest thing that made Val Kilmer terrible as Batman was just the scenes and dialog as Bruce Wayne in Batman Forever. Keaton had much better writing in his two Batman films. Keaton and Christian Bale couldn't have done much with the stupidity Affleck had to deal with in Batman v Superman either.
And while we're at it, while I think Leto was especially bad in Suicide Squad (probably the worst super-powered movie I've ever seen), even Jack Nicholson, Mark Hamill, Cesar Romero, or for that matter Denzel Washington, Marlon Brando, Robert De Niro, or Tom Hanks would not have made that Joker good. The story, scenes, and dialog for the role were just as unbelievable pointless, boring, and stupid as the rest of the movie.