i've been thinking about this sort of thing for a while now. There are such things as secret guilds, but I think that a character could and should be able to belong to at least one secret and one public guild. There are several IC reasons one might do this, including the ones already mentioned. I was thinking that for the purposes of espionage, one might publicly belong to one guild but secretly belong to another. A guild might then be split into two separate factions, one being public the other secret. Any member a part of the secret faction should be able to join another guild for the purpose of infiltration, espionage, sabotage etc.
An OOC reason would be for the sake of coordinating RP. Guild functions such as guildchat and guildinfo would be extremely useful in such occasions.