There is a good movie here wishing it could be born out of this mess. Tommy Lee Jones is giving it all he's got, portraying a meticulous and persevering war vet trying to uncover the mystery of his son's death. Some nice details build his character... like the way he creases his pants even when he's living out of a motel room; or the way he pumps young soldiers for information by inviting them to share a cigarette or a shot of Jim Beam. The center of the film is a half-hearted attempt at a detective story, with Tommy Lee and Charlize Theron sniffing out a cover up. I say "half-hearted" because the film never fully commits to engaging you in the detective story... instead, it gets distracted. There's an aborted try at a family drama (where TL Jones becomes surrogate daddy for Charlize's kid, which is not only unbelievable, but only lasts for about 2 minutes and is never mentioned again); some limp attempts to address racial prejudice (in which TL Jones again breaks character and beats a man while delivering an ethnic slur); and wasted appearances by fine actors Barry Corbin and Josh Brolin. Their screen time is well-written and compellingly delivered, but fails to contribute to any central thrust of the film. (BTW, I think this must have been filmed around the same time as No Country for Old Men, which might explain how at least three cast members appeared in both films.)
The film hints at fertile territory, but it's all undone by a heavy-handed insistence at creating a "message" film. As such, it reeks of embarrassingly obvious symbolism and propaganda. It's the same sort of failure that plagued Fast Food Nation. Lots of good actors contribute to both films (no doubt they support the respective causes) but nothing cohesive or satisfying comes of it.
I would only recommend In the Valley of Elah for Tommy Lee Jones completists. Otherwise, like me, you'll probably want your two hours back.