I think they can be done well, but it really depends on what your goal is.
If you want some overarching pantheon of evil that is done right, they need to win at first, and big time.
Fighting them one by one is meh, because we know in the end the heroes have to win. If you want to establish the big bad as a truly tremendous force, we cannot have this final victory over them where we’ve tackled them piecemeal, and that’s exactly what we’ve done with each of our old gods.
For example, if we faced C’thun and it was made abundantly clear that we only just barely survived by the skin of our teeth, then we have the fear of “oh my god, what if we have to fight another; or, worse, what if we have to fight multiple of them at once!?”
We never got that, though. It was just: Old God? Cool, let’s beat their face up.
MoP did a not half bad job dealing with Y’shrajj or w/e his name was; even dead, he was incredibly powerful and had a lasting impact.
The other big thing is the start and stop, or isolated nature of the old gods in WoW. There really isn’t any connective tissue linking them; they’re each on their own and we only ever face them as such. They seem weak as a result.
I created a A Proposed Revision 🖊 in which the Old Gods played a more powerful role and we never initially defeated them, and as a result they eventually raise up the whole Black Empire. In that, I tried to knit their stories together across the sequence of expansions.