WebPipes is a work-in-progress proposal for linking together web services. Essentially, you can think of WebPipes as UNIX programs. They are small utilities available over HTTP that do one thing, and do it well. WebPipes follow the Unix philosophy:
The magic comes when you start chaining pipes together. You can create really amazing workflows by combining a few small pieces together.
Since a WebPipe is essentially just a script that receives input via HTTP POST/GET, there's not much else to know other than how to structure the output. Their precise behavior is cover in the WebPipe Specification
To participate in the wider Webpipe ecosystem, a few conventions have been adopted which enables Webpipes to "speak" to one another. Check out the WebPipe Spec.
Although, WebHooks share much in common with Webpipes, each solve different problems. WebHooks were designed, in part, to solve the push/poll. Essentially, a WebHook is a URL callback since it responds to events. For example, GitHub implements WebHooks. On post-receive, GitHub calls a user-defined URL like a callback. It also feeds along a few arguments that tells you about that commit.
Likewise, WebPipes are essentially simple scripts publicly accessible via a URL. You POST/GET some input, and it'll provide you some output.
Although not yet widely implemented, WebPipes offer developers more leverage. By connecting small and independent units, the whole becomes greater than the sum of its parts.
But the real beauty is the potential for WebPipes to enable the "programmable web" and an entirely manner for creating applications. Some folks have even experimented with wrapping Unix programs around HTTP.
Since WebPipes are basically just scriptlets, they're easy to implement. Read the Webpipes Specification to learn the specifics.