The truth potion (Veritaserum) is one of the most powerful potions that forces the drinker to speak truth. Then why didn't Ministry used it in any criminal cases instead of long discussions and proceedings? I know there are antidotes to the potion (Dumbledore tells Harry in the 6th book , "Slughorn might have been carrying antidote to veritaserum ever since I asked him about the memory"), but why don't keep criminals in custody until the effect of the antidote wears out and then make them drink veritaserum. Won't that result in perfect judgement?
For reasons not dissimilar to why we don't use lie detectors in criminal trials.
Jo Rowling has answered this directly:
Veritaserum works best upon the unsuspecting, the vulnerable and those insufficiently skilled (in one way or another) to protect themselves against it. Barty Crouch had been attacked before the potion was given to him and was still very groggy, otherwise he could have employed a range of measures against the Potion - he might have sealed his own throat and faked a declaration of innocence, transformed the Potion into something else before it touched his lips, or employed Occlumency against its effects. In other words, just like every other kind of magic within the books, Veritaserum is not infallible. As some wizards can prevent themselves being affected, and others cannot, it is an unfair and unreliable tool to use at a trial.
Sirius might have volunteered to take the potion had he been given the chance, but he was never offered it. Mr. Crouch senior, power mad and increasingly unjust in the way he was treating suspects, threw him into Azkaban on the (admittedly rather convincing) testimony of many eyewitnesses. The sad fact is that even if Sirius had told the truth under the influence of the Potion, Mr. Crouch could still have insisted that he was using trickery to render himself immune to it.