"Are you done yet?" vs "Get back to me when you're ready, gonna go do something else". Aka blocking i/o vs nonblocking i/o.
(I always wonder why Windows NT doesn't get more high performance implementations for networking et. al. with this feature; licensing? trade off in perf elsewhere? can't tweak kernel params to your heart's desire?)
io_uring implemented an additional feature of a ring buffer, but Microsoft has followed this feature; I think it was first introduced in a later build of Windows 10 and should be in 11 & 2022.
Microsoft has a graphical example of IOCP:
https://learn.microsoft.com/en-us/windows/win32/fileio/synch...
More info on a comparison of ring implementations in Windows/Linux:
https://windows-internals.com/ioring-vs-io_uring-a-compariso...