Here's a better description I found:
"A raw socket means that the application must prepare the necessary
headers itself. This permits you to put any information you want in the
headers, including spoofed IP addresses. Note that Windows NT also
supports raw sockets, so this is not just a Unix issue."