Can someone give me a good definition of a Callback Function?

For example, the following just go through each window that is open.
Code:
  Call EnumWindows(AddressOf AllWindows, 0)

What is this one doing?
Code:
  Call SetTimer(Form1.hwnd, int_ID, 500, AddressOf TimerProc)

Thanks