Weil du sonst Timeouts verursachst. Das wirkt auf User verwirrend, da sie warten und warten und warten. Aus Sicht eines Angreifers sieht es dann so aus, als sei deine Kiste überlastet. Resultat kann dann sein, dass er es erneut probiert.
Auf einen Dienst, dessen Existenz Benutzern nicht vertraut sein muss, verbindet sich auch keiner. Und Angreifer sind im Internet ohnehin vollständig automatisiert (Portscans, Botnets), sie werden z. B. trotz allem fortfahren, deinen Server stumpf mit SSH-/RDP-Anfragen zu behämmern.
Es spricht nichts dagegen, Verbindungen von „feindlichen“ Clients zu droppen anstatt zurückzuweisen, da es sie im besten Falle wie beschrieben ausbremst. Das echte Internet hält sich auch nicht immer an deine gedruckten Regelwerke.
Besser ist hier Reject, was das Paket ebenso verwirft, ihm dann aber über ICMP unmissverständlich klar macht, dass er hier nicht weiter kommr ("Connection Refused", auch ein paar andere Fehler sind wählbar)
Du denkst jetzt an andere Protokolle wie UDP und die ICMP-Antwort Destination Unreachable bzw. Port Unreachable. Bei TCP würgt der Netzwerk-Stack den einkommenden Verbindungsversuch einfach per RST ab, außer man definiert in iptables explizit --reject-with icmp-port-unreachable. Das wäre dann aber bereits wieder deutlich unterscheidbares Verhalten zu einem gar nicht geöffneten Port.