Zone of Truth is save based and prevents deliberate lying in the first place and can be combined with insight to determine lies of omission or misdirection.I'm not a fan of Insight as a lie detector test. And that's what it usually boils down to. If the player rolls a 20 they expect to be told a PC is lying or not. I prefer to use the Insight checks to give them hunches or clues as to the NPCs mindset and attitude, not a Zone of Truth spell which is how many players want it to work.
I think a lot of people don't realize the check is more than an action. A check made as part of the converstation is inclusive of the entire interaction up to that point, possibly including additional conversation. I would also point out learning to read body language doesn't really help facing some creatures. I've imposed disadvantage based on how insight works.