It's mandatory on almost all tournaments to reveal your roster to your opponent prior to the battle. The original implementation of this rule predates my involvement with WHFB tourneys, but the bottom line seems to be that (some) people cheat. It is just easy and tempting to the less upright members of the community to claim that their mage has 2 dispel scrolls on one occasion, and a power familiar or some bound spell on another. Likewise, if you have two similar units on the roster, one with, say, the war banner and the other with a banner that makes you immune to psychology, you could be tempted to "place" these banners during the battle as you see fit. Same with fanatics (oooh, it's this unit that I had the 3 fanatics and the shaman with mad cap mushrooms in) and like sneakiness.
The second reason is to give everyone an equal opportunity. Since I, for example, am rather well known to other tourney participants here, it would be quite easy for me to go around after the first, second or third battle, chat with my friends and buddies from clubs/tourneys and find out what army I'm facing - in detail. Truth to be told, I'm a curious and impatient person when it comes to battles and it would be extremely hard for me to resist the temptation to gather intelligence in this manner.
Someone who doesn't want - or can't - run around the room and be inquisitive for whatever reason (shyness, high moral standards, new to the hobby and doesn't know anyone, etc.) has a distinct disadvantage, as I would know that he has, say, 2 scrolls and the ring of hotek and would be able to use this info to my advantage.
The opposite side of the coin is that some items are clearly useless unless your opponent doesn't know you have them. In my view, we chose the lesser of two evils, and I'm really curious as how you deal with players who are a bit unscrupulous and "forget" that this time they've taken the war banner and not the banner of doom on their Grave Guard - or somesuch.