I think they're a fine army, except that other armies are better
Dain's great but if he fluffs a round of combat he likely doesnt make his points back unless you can kill a hero if there are only 3-4 rounds of combat. If you play well you can definitely win games and they're certainly better then a lot of other armies, especially cause some armies just can't win against them, like elves will be really really hard pressed to win against Iron Hills. So in that sense, they are good just because of that.
I played a game with iron hills at 600 points and Dain won two rounds of combat and only killed 4 models the whole game. I do think he's good and likely could be more points but it doesnt matter if he only gets to kill a handful of troops while all your dwarves are out numbered two to one and lose every fight.
I dunno man, maybe my meta is just weird but games are pretty short, in rounds, and if you dont have the numbers of models to be contesting objectives and winning the battle line you are going to struggle to win games.
I haven't played Erebor yet but on paper they seem way better, at certain points at least, and again, at least in terms of my meta. Although I think a big part of that is because they can ally laketown.