This. I think the player should always know the difficulty and the stakes before going into a roll, and they should always know if they succeeded or failed.
I couldn't disagree more. It's not possible for the character to know those things so there's no reason for the player to know those things. Unless they're obvious in the fiction. You want to swing across a bottomless pit on a makeshift rope swing, you clearly know what the stakes are. You're prowling around an unknown location, you couldn't possibly know what's lurking there. You can guess it might be guards, sure. But you don't
know. There's no certainty. And there shouldn't be any. For me one of the goals is getting the game out from between the player and their character. Not centering the game.
This has several benefits: first, it allows players to act with confidence, which helps curtail waffling.
So it removes the realism and verisimilitude of uncertainty. That's not a benefit. The characters should be uncertain.
Second, it can help a DM who may instinctively want to call for a roll simply because an action has been declared to stop and think through what the difficulty and stakes of the action are - if you can’t think of what to tell the player will happen on a failure, or if you think the DC should be really low, it’s probably not worth calling for a roll at all.
I agree with the not calling for too many rolls, and not bothering with low DC rolls, but as the characters cannot possibly know the stakes with certainty, the players shouldn't either to prevent metagaming and so they're roleplaying more authentically.
Thirdly, it helps eliminate mismatched expectations - when a player thinks something is going to be easy and/or have low stakes but the DM thinks it’s going to be more difficult and/or have higher stakes, simply stating the difficulty and stakes out loud can avoid unpleasant surprises. This also feeds back into the first benefit, allowing players to act more confidently without fear of secret “gotchas.”
In some cases that's great and I'd agree. You need to be on the same page for a lot of things. If the player didn't hear you say it's a fancy, obviously magical lock or misheard that there's a thousand-foot drop off...then that's worth pausing and making sure everyone knows what's going on before any rolls or consequences are presented. But doing that all the time utterly obliterates all those moments where there's no way the character could know something. It's not worth giving that up.
Usually the counter-argument is that “the player shouldn’t know things the character couldn’t know,” and to folks who care about such things, I say, stating the DC and consequences represents the character’s ability to assess a difficult task and make a prediction about their own capability of succeeding at it.
The trouble is the character isn't perfect but you're providing the player with perfect information. The player will inevitable act on that perfect information in game, i.e. metagame. That's bad.
That’s something the character should be able to do to a reasonable degree of accuracy
That phrase is doing all the lifting. And again, a reasonable degree of accuracy is not perfect knowledge. "The DC is between 10 and 16" is a reasonable degree of accuracy "The DC is 15" is perfect knowledge.
and DM description alone can easily fail to convey that information.
Of course. That's why you do the best you can in describing things and everyone gives each other slack and mulligans on things that should be obvious.
Granted, it should also be possible for the character to make an incorrect assessment, and that is one of the factors that is covered by the random nature of the die roll.
That's not how it works. The incorrect assessment is the DC not being accurate. The character's attempt is the random roll.
And, the player seeing the result of their roll represents the character’s after-the-fact assessment of their own performance, again something the character should know.
Again, no. The character cannot possibly know the result of some of their actions. Finding secret doors, for example. They have no way of knowing if they missed something or if there's nothing there to find. That distinction is obliterated if you do things your way.
An argument can be made that there are some edge cases where a character shouldn’t be able to make an accurate assessment of their performance.
Not edge cases, standard things in D&D...like sneaking and searching for secret doors.