When you're browsing an app's page on the Zapier website, you'll notice some triggers are marked as "Instant". This means exactly what you think. As soon as something happens in the app you're connecting to, Zapier will know about it and trigger your zap.
With non-instant triggers (also known as polling triggers) it will be anywhere from 1 - 15 minutes before that zap triggers - depending on which Zapier plan you have.
It would be great if Zapier could make all its triggers instant - but it's only possible if an app's API supports it. An API is the interface by which an app allows other apps to connect to it. They are all built a little different.
Webhooks are a useful feature by which apps can send messages to other apps in a mutually understandable format. When an app on Zapier has instant triggers, this is done using webhooks. As soon as something happens in the app you're connecting to, a webhook message is sent to Zapier that triggers your zap.
Polling triggers in Zapier essentially ping the app you're connecting to periodically and check if there is any new data since the last time it checked. How often it does this depends on your Zapier plan and will be somewhere between 1 and 15 minutes. The shortest polling time used to be 5 minutes, but Zapier recently improved that to 1 minute.