You should block those addresses for all traffic because there is no valid reason for a packet bound from or to one of those addresses to be on the Internet at large. Any packet with one of those addresses represents an attack, a misconfiguration, or both.
0.0.0.0/8: A set of "wildcard" addresses representing the current network.
127.0.0.0/8: The loopback addresses. Packets with these addresses should never leave the computer they're created on.
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16: Private-use addresses. Packets with these addresses should never leave the LAN they're on. These represent the greatest threat, since forging one of these as the destination address can let the attacker target computers that are not directly addressable from the rest of the Internet, and thus may not have the same level of security as a server; forging one as the source address can trick the destination computer into attacking one of those non-addressable computers.
18.104.22.168/3: The multicast and reserved address ranges. I'm not sure why the article says to block them.
As for how these packets can be created, any program with low-level access to the computer's hardware can create completely customized packets, including doing such things as forging the "from" address on the packet.