Grade bei Application Level Firewalls ist es möglich zu kontrollieren WAS für Daten gesendet werden, da eine Application Level Firewall Kenntnis über das verwendete Anwendungsprotokoll, z.B. HTTP oder was auch immer hat.
So ist es z.B. möglich HTTP Requests auf RFC Konformität zu prüfen etc. Eine Application Level Firewall ist im Prinzip nichts anderes als ein Haufen von Proxies für diverse Anwendungen, z.B. HTTP, FTP, etc. Application Level Firewalls gelten aus o.g. Grund als 'sicherer' als Paketfilter, sind aber langsamer und brauchen mehr Systemresourcen.
Eine Packetflilter Firewall lässt sich im Prinzip in 2 Gruppen unterteilen, stateless und stateful. Stateful Paketfilter haben den Vorteil, dass sie den Status einer Verbindung überwachen können. z.B. ist es mit Hilfe eines stateful paketfilters möglich, nur Pakete anzunehmen die zu einer bestehenden (z.B. von einen Rechner innerhalb des eigenen Netzwerkes aufgebauten) Verbindung gehören. Es gibt jedoch einige Hybriden, d.h. stateful filter, welche Teile des TCP Payloads untersuchen können.
Anyhow... ich glaube wir reden hier über Firewall's für den Heimgebrauch und Privateanwender. Hier mit Kombination aus Application Level Firewall und Paketfilter, etc aufzutrumpfen hat meiner Ansicht nach wenig Sinn. Für kommerzielle Anwendung sollte man, wie Du schon sagtest, Paketfilter + Application Level Gateway's (oder auch Proxies) mit einen entsprechen sicher zu konfigurierenden Betriebssystem (wie z.B. OpenBSD oder Linux) kombinieren.
My $.02