Along with what David said, I think Dumbledore or Rowling said that if you know that you're going to be administered veritaserum, you will have the will power to stop yourself from revealing the truth. I think this was posted on Rowling's site but I can't find it at the moment
EDIT:
Found it
QUOTE
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.
Link