Billmon needs to take some criminal justice courses. He wonders: Why Did Fitzgerald Throw Judy in Prison?
The story that Libby was spinning for the investigators and grand jury had multiple elements, but it was essentially an attempt to distort how and when he learned of Plame's identity. Fitzgerald was answering the classic Watergate questions: "What did he know and when did he know it?"
Judy Miller was crucial because she was the first journalist that Libby talked to about Plame and the conversation took place in June, well before the Novak column. Miller's testimony showed that Libby lied about when.
Tim Russert was important because Libby had identified him as the source of Plame's name, and Russert denied that the discussion took place. Russert's testimony directly contradicts Libby's.
Matthew Cooper's testimony is related to Libby's motive for lying: he was smearing an opponent by leaking to journalists.
Fitzgerald systematically pulled Libby's story apart. The interviews with Plame's neighbors were just a final clean up and cover for any defenses that Libby's team might attempt. It was a small peripheral detail, but Fitzgerald's team covered it.
Fitzgerald's decision not to go with an espionage charge was a reality-based decision. Everyone knows what lying is, but you have to do a lot of explaining to a jury when you try an espionage case. It isn't certain that a jury would understand that Valerie Plame was an undercover CIA operative, because she lived in Virginia, not some foreign country. Trying an espionage case would involve getting some of the information needed for trial declassified by the current administration, not a sure thing. There are a lot of openings for "reasonable doubt" in an espionage case and not much return for a prosecutor.
In the "criminal justice system" it isn't what you know, it isn't what would be just, it's what you can make a jury believe beyond a reasonable doubt that counts.
If more information comes out at another time, Libby can still be indicted on espionage charges.