Assertion : assert property vs cover property

While writing a assertion, should we always follow assert property directive with cover property for Functional coverage.
What is the difference between assert property and cover property ?

In reply to bsi:

You use the cover property, functional coverage only cares that it succeeds at least once. There is no failure.

An assertion must pass and never fail.