What are they? Hidden attributes are attributes that can be given to a character, but which have no actual effect. They're not visible in-game, and aren't used in vanilla traits.
For any agent-type, any attribute they cannot use themselves can be used as a hidden attribute. For example, one could use Command as a hidden attribute for spies.
For generals the pool of hidden attributes is smaller, as most of the attributes in the game have effects for them. Here's a list of all that don't, and can therefore be used as hidden attributes (there might be a few attributes missing):
Health (the DocuDemons mention this attribute, but it's not used for any traits so I'm not sure it's actually in-game, and if it is, if it has no effects)
What can they be used for? Hidden attributes can be used for all sorts of scripting, and basically work as character-level variables. I for example use hidden attributes in a duel system I made to determine the chance of duels happening, and to transmit information between characters (more on that later).
Hidden attributes work very well if one wants a lot of traits to increase the chance of a single trait or family of traits, as instead of making triggers based on every single trait one can instead make all of them add to one of the hidden attributes, for example Assassination, then script the triggers based on how high the Assassination attribute of the character is.
Hidden attributes can also be used to transmit information between characters in the same region by using the HighestAttAdjacentChar condition. In my duel system I use a series of Magic values to transmit that a character wants to fight, that someone accepts the challenge, and then the results of the fight. The syntax of the condition in this case is "and HighestAttAdjacentChar Magic family = x"
Hidden attributes can be used to transmit any sort of information between characters, only one's imagination and scripting skills put any limits to what can be transmitted.
To sum up, the two most useful areas of use I've found for hidden attributes is to aggregate large amount of traits, and to transmit information between characters in the same region, but they can be used for almost anything with enough imagination and scripting ability.