10 Harry Potter Mysteries JK Rowling Has Actually Answered
3. Why Isn't Veritaserum Used To Interrogate?
Veritaserum is used on occasion in the Harry Potter stories to force a character to tell the truth against their will. It is most memorably forced down Barty Crouch Junior's throat by Dumbledore and his teachers when they realise that it he has been using Polyjuice Potion to impersonate Mad-Eye Moody. On another occasion, Professor Snape threatens to use it against Harry when he suspects him of stealing from his stores.
Since then, a plot hole seems to have appeared: "Why isn't Veritaserum used in interrogations? Why have court trials? Why have a justice system at all if you can simply force all criminals to confess?"
The answer to this one, taken from Rowling's own website is: "It is, but skilled wizards can avoid its effects by using antidotes and charms. A gifted Occlumens could also resist Veritaserum."
Like most concepts in the Harry Potter universe then, it's a magical idea that works well. However, magical ideas aren't the answer to all of life's problems as there is always another spell, potion or technique that can counter or block it. Veritaserum might help in some cases, but if you can't trust that it isn't being negated, then it becomes useless in a court of law.