The way it usually works, in my experience, is trial and error. You can see your rolls and know which ones hit and which ones didn't. So you try a few different things, prodding your enemy's defenses, to figure out "how difficult is this guy to hit?" and then adjust your strategy based on what you learn. If you make a bunch of attacks that feel good (high rolls) and you're still missing, you adjust your strategy.
That's is very un-fun. And then spend way too much time replaying encounter again and again, casting various debuffs and dispells hoping that you will figure out what you are supposed to do.
I can only see it work, if game had ways of communicated why and by how much you missed without showing actual numbers (as I would imagine a good DM would do when describing the action).