I'd like to add a reason...
The actors that are playing the DC characters have not really been known for, or fully embodied their characters.
Christopher Reeves WAS Superman. How many people really even know the current actor's name? Henry Cavill or something ?
Affleck isn't going to be Batman for the long run. It was a mistake to choose him for the role considering they're trying to start their own comic movie universe and Batman is a huge character. Now they'll have to recast soon
The audience being able to see the actors as the characters is a big factor when they are playing such famous and iconic characters. Wonder Woman/Gal Gadot is the only one who is on track to do that.
I can't ever picture myself thinking "yep, let's go watch Ezra Miller as the Flash in his new solo film" He holds no presence for me whatsoever.
Jason Momoa as Aquaman was a good pick, but they gave the audience no time to really get to know his character and accept him as AM because they jammed him into a team movie right away.
Robert Downey Jr IS Ironman.
Thor, a character that really isn't all that interesting, was made interesting by Hemsworth. Captain America is a rather plain character himself, but his movies gained popularity because they had a solid actor and a solid team of support. Lesser characters like Black Widow, Nick Fury, and even Hawkeye and Loki either got some popularity, or made a name for themself because of the actor playing them.
Even look at the Xmen movies...those movies have practically all succeeded because of Hugh Jackman.
DC does not have that.
Despite getting big stars like Smith, Leto, Affleck, Fishburne, Costner, and Crowe to join their movies, they spend no time actually developing these characters.
They do everything half assed.
How is Ironman more popular than Superman? Superman is an icon. The actor that lands that role SHOULD be a star. RDJ made IM. Before him, i honestly never gave IM much thought