Don't listen to people here. There's people here who literally buy every iPhone as soon as it comes out. THEY WILL ALWAYS TELL YOU TO BUY NOW BECAUSE THEY ARE ADDICTS THEMSELVES.
Here's what's going to happen in either situation:
YOU BUY NOW: You get stuck with a 4S while the fanboys here telling you to buy the 4S get the 5/6 anyway, leaving you in the dust, regretting asking these people anything.
YOU WAIT: You get the next iPhone and the same fanboys who told you to buy the 4S sell their 4S's and get the 5/6. At least with this option, you win out as well.
Ergo, you should NEVER LISTEN TO PEOPLE HERE. They are mostly a bunch of rabid Apple fanatics who will always buy the next iPhone and sing its praises. Don't ask them anything about buying your next phone. If you like the 3GS and its giving you no trouble, keep it. If you need something on the 4S, buy it. Simple as that.
Here's my answer though. I'd wait for the goddamn phone. I have a 3GS and there's nothing wrong with it. I have the software up to date and I'm going to buy the next one the day it comes out.