The most useful rule of thumb I've heard is "the GUI should show the player what they need to know, but only when they need to know it". Too much information will add clutter and visual noise (and make the game harder to learn), too little information will frustrate players and force them to spend too much time in menus (or even miss out on vital information so they can't progress properly). Many games hide the health/stamina/mana/ammo indicator if it's full, which is part of a "only show the player when something is out of the ordinary state" style of information approach. Some games hide all GUI elements if they've not been unused for a while, like the collectibles counters in Banjo-Kazooie. (Yes, this has been a common GUI design principle for decades).
I guess the general idea there is that if everything is in a "ordinary" state (nothing is happening, there are no current problems), there is no need to show any information. If either of those conditions aren't met, you should show information.
I guess that does it for resource management, but there's other types of GUI as well. For instance "<button> DO ACTION" style prompts. Some games show these all the time (Super Mario Odyssey is the first example off the top of my head, but even Dark Souls does it). You can use those in two types of situations: where the player has no idea what the buttons does (which is a common thing that happen if you change gameplay modes unexpectedly a lot - e.g. vehicle sections, or posessing an enemy), or the player knows what the button does but it only works given certain conditions that aren't necessarily apparent (e.g., you can't quite tell which doors you can open until you see an OPEN DOOR prompt). The former case reduces the amount of memorization the player needs to do, but it can get annoying if you keep getting reminded of stuff you already know... but that's a very player-dependent variable, so I guess it's not worth risking it. The latter case... I'd say it's mostly there to reduce "pixel hunting". If the player gets a "you can DO THING X here!" prompt when they're near a context-specific-action context, it's much harder to miss it and get stuck. And some context-specific actions are so specific it might be the only time in the game you do them, which could make them VERY easy to miss if the game doesn't tell you about them. It's a bit of a cheap way out to outright tell the player to do something, but sometimes (e.g., all the effing time) it's better than the alternative, telling them nothing in any way.
Another thing worth mentioning about prompts: they help keeping information proximal. If you give players information right when they need it, you force them to memorize less, and also encourage learning by doing. If you give them info in a textbox during the exposition dump and then assume they remember it 2 hours later when they're gonna do something new, chances are they aren't in fact gonna remember it. Very common newbie mistake, but it still pops up in big-budget titles like Xenoblade 2.