Consider following example :
val value1 = ...
val value2 = ...
value1 should not be null.
value2 should not be null.
It will fail with a message "Expected null not to match 'null'", which is not very helpful in determining whether value1 or value2 was null.
With macro, we can show a message like "Expected value1 to be different from 'null'" instead, and possibly with a matching line number as well.