The more I think about the refusal of some Iraqi forces to fight domestic enemies the less surprised I am.
Even though Saddam had little trouble finding soldiers to kill their fellow Iraqis, that's not the kind of army we've been building over the past few months. Imagine what would happen if the American military were called upon to put down a violent rebellion in the modern United States.
In the days of the Civil War, army units were mostly constituted of men who were from the same geographic area. Even though the South was part of America, most Union soldiers weren't fighting in their home towns against their own families. In Iraq, however, we've been building a modern, ethnically integrated army with soldiers in each unit from all over the country. That's the best way to structure an army to prevent military coups and the like, but it makes domestic military actions very difficult for the same reasons.
The Iraqis do need to take responsibility for their own welfare, but until there's a common concensus among the population military action may be required to keep the peace -- and modern militaries are purposefully designed to be bad for controlling the domestic population.
Bill Hobbs asks a great question: "Where is Iraq's Wyatt al-Earp?". A modern army is bad at domestic peacekeeping, but an armed populace that knows where the troublemakers live and is motivated to stop them could do the job. I have a feeling they've got the "armed" part down, it's the motivation that appears to be lacking.