A webhook is just a callback that notifies an arbitrary URL when an event occurs. A good explanation is here:
http://timothyfitz.wordpress.com/2009/02/09/what-webhooks-ar...
Webhooks are very common for server-to-server communication and have been in use for several years (though they only really took off in the last couple). They are ready for primetime and there are lots of best-practices in the industry around how to implement and use webhooks.
They also go by other names such as: PubSubHubBub (PSHB), real-time API, push API, web callbacks... Basically it is just a URL endpoint that accepts POST requests with form data or JSON body payloads that come from server-generated events from other systems.
The webhook is just the URL of a service that responds to the request in a hopefully useful way. When someone purchases my item, Shopify will post a request to the URL that contains useful information about the action.
In this manner, I can build interesting services that respond to events that happen on other websites. Providing webhooks is a pretty awesome thing to do, but it's not useful for non-developers in 2012.