Die (für mich) wichtigsten technischen Unterschiede sind recht einfach:
Das 4er ist deutlich schneller (Prozessort und Grafik) und das 4S noch mal erheblich.
Das 3GS hat nur 256MB RAM, das 4 und 4S hat 512MB. Das merkt man bei speicherintensiven Programmen (auch Safari!).
Die Kamera ist beim 4 wesentlich besser und beim 4S noch einmal.
Display des 3GS ist schlechter (aber nicht schlecht!).
Bei der Software gibt es auch Einschränkungen. Nicht alle Features von iOS 4 bzw. 5 werden beim 3GS unterstützt. Genauso wie das 4er kein Siri kann.
Eine Vergleichstabelle, wo das genau steht, habe ich jetzt gerade nicht zur Hand.

Nochmal, damit es nicht falsch rüberkommt:
Das 3GS ist sicherlich kein schlechtes Gerät und je nach Anforderung wird man den Unterschied zu den neueren Geräten evtl. nicht vermissen. Man muss sich halt klar sein, dass man bald aus dem Update-Reigen heraus fällt. Aber das ist auch nicht unbedingt schlimm. Es wird sicherlich noch lange Apps für das 3GS geben. Und auch die Geschwindigkeit des 3GS gegenüber dem 2G ist schon deutlich höher. Das merke ich, wenn ich vom meinem 3G auf das 3GS meiner Frau wechsele. Aber eben das iPad2 (=4S) ist noch mal deutlich performanter, klar.
Nur eben ich persönlich finde den Preis bezogen auf die Leistung zu hoch. Genauso wie ich den Preis von jeweils 100€ mehr für doppelten Speicher auch für zu hoch halte. Das sind keine technischen Notwendigkeiten/Preise sondern rein Marketing und was gibt der Markt her. Eigentlich müsste das 3GS meiner Meinung nach deutlich günstiger sein.
Aber es ist eben eine persönliche Entscheidung und Abwägung. Man kann auch mit dem 3GS glücklich werden. Genauso wie man mit einem 4S unglücklich sein kann.