In propositional logic, every statement must have a truth value. For the sake of illustration (and making a connection with natural language), let's consider an example where time is a factor, so that when a statement is made we do not yet know its truth value.

You friend says "If you get an A on your test, I will buy you dinner." If you then get a B on your test, maybe your friend buys you dinner anyway, and maybe they don't. But you can't say that the statement was false, because they only said what their actions would have been if you had gotten an A. And if their statement isn't false, then it is true.

This is very closely related to statements being "vacuously true." Suppose, for the sake of example, that unicorns do not exist. Your 5 year old neighbor insists that every unicorn can fly. Her brother insists that black unicorns cannot fly. Their disagreement turns violent and you leave before you get dragged into it. But you ask yourself "Well, are either of them *wrong*?" And the answer, at least in propositional logic, is no! The statement is "vacuously true" because there are no cases to disprove it. There are no unicorns that don't fly, so you can't say that the sister is wrong. But there are also no black unicorns that fly, so you can't say the brother is wrong either. Note that the word "vacuous" in this context comes from the meaning of "empty", as in "the set of all unicorns is the empty set."

But with the semantics of implication, we can get vacuous truth by turning the "every" statement into an implication statement. "Every unicorn can fly" can be rewritten as "If x is a unicorn, then x can fly." By giving implication the semantics that we do, these two statements are equivalent.