I'm no great legal theorist, but the feds have cleverly managed to make talking to them seem like the worst possible option. If they're bound and determined to get you, they simply parse through every statement you've made to them, find one where they have plausible (but not necessarily dispositive) evidence to the contrary, and bingo! Time in a federal penitentiary for you, bucko.
What's more pathetic, in my opinion, is that perjury has become the fall back prosecution when they can't pin anything else on an otherwise innocent victim. No insider trading occurred? Perjury! Can't get the conviction on corruption charges? Perjury! Not enough evidence for steroid charges? Perjury!
Let us also not forget the feds are completely free to lie to you if they think doing so will help them convict you or others. You have a statutory duty not to lie, but they have no such corresponding obligation. You can also be prosecuted for lying, but federal agents won't get sanctioned for anything up to and including accidentally killing you. There's a pretty severe imbalance on the consequences scale going on here.
Given the well-publicized cases lately, I just don't see why anybody talks to the feds at all, let alone voluntarily. Anybody having any contact with the feds should smile cheerfully and invoke their 5th amendment rights. Alternatively, you can pull the "I do not recall at this time" routine. Either way seems preferable to later being prosecuted for perjury.