Error: VM Exception while processing transaction: revert
The error basically says "anything could have gone wrong here", which keeps you completely in the dark about its exact location.
Working within a large code-base that contains many smart contracts, finding the failing line of code quickly becomes a daunting task.
{`contracts/src/2.0.0/protocol/Exchange/MixinSignatureValidator.sol:51:8
require(
isValidSignature(
hash,
signerAddress,
signature
),
"INVALID_SIGNATURE"
)`}
It shows you the exact location of the offending line and where it was called from.
Turning "Your code failed somewhere, good luck debugging it" into "Your code failed on line X of contract Y", drastically improves the developer experience.