Just sending a lot of packets, can often be stopped by using SYN cookies / SYN Proxy. But that requires a stateful system which is often way heavier than a stateless solution. Nevertheless with modern hardware this is starting to become less of a problem. Even the linux iptables system has a builtin syn proxy module.
SYN flood:
SYN proxy:

