Greylisting provides an additional layer of inbound email security by delaying potentially unwanted emails.
Similar to stopping people at airport Customs to verify credentials, greylisting checks the incoming email, decides that it falls in the middle (between good and bad mail), and rather than refusing the email, says to the other server "Not sure about this - try again in a while".
From there, if the other server is dodgy/unfavourable then it's likely to be badly configured. If so, odds are it will ignore that non-success/non-failure and retry deliver IMMEDIATELY rather than holding it for a while and reattempting (in-line with a greylisting reply).
If the email really is genuine, then their server should retry sending it to your email address, and so long as they've waited long enough to show an understanding of the delayed handling beforehand, then the email will be accepted by us and delivered.
Having problems due to other servers not understanding greylisting?
This is surprisingly common despite the year we're living in, and you're able to disable Greylisting in cPanel easily - simply search for it from the home page, open Greylisting, and switch it Off. You should then be able to ask for emails to be resent which should arrive quickly.