Há webhooks que irão utilizar uma API do tipo REST, outros que usam API customizada, outras GraphICAL, Thrift, etc.
Em outras palavras, um WebHook é um endpoint HTTP da qual um cliente deve implementar para receber notificações de eventos que ocorrem em um servidor.
Já em um WebHook, o cliente expõe um endpoint HTTP e se inscreve no servidor para receber notificações de eventos.
A diferença é que o cliente consome a API REST do servidor diretamente por meio de requisições HTTP, enquanto que os WebHooks são requisições HTTP das quais o cliente deve aguardar.
No caso do eNotas, seu sistema será notificado sempre que uma nota fiscal mudar para um dos status abaixo: