From a developer's perspective, the 3GS was a huge upgrade.
It was the first device to introduce the first completely new architecture since the original iPhone, offering a much improved CPU (ARM Cortex A8), an OpenGL ES 2.0-capable GPU (PowerVR SGX535) and effectively 3-4x the amount of available RAM for 3rd-party applications.
What followed in 2010 was the A4 chip, which is - you guessed it - basically the same as what the 3GS had, the main difference being a bumped clock speed. The iPhone4 had more RAM but the other devices didn't, so the target for developers was/is still 256mb.
The iPad 2 introduced Apple's first new hardware platform since the 3GS: A DualCore Cortex A9 with a PowerVR SGX543 MP2 and 512mb RAM. This has now been carried over to the iPhone 4S (probably with more RAM again).
It's a significant leap on the graphics side but a bit of catching up with the competition on the CPU side other phones have been using DualCore CPUs for roughly a year now.
iOS is generally less CPU hungry than Android because everything is hardware-accelerated under the hood. That's why even the "old" 3GS doesn't feel slow at all, even when running the latest iOS release In fact, the UI is still smooth as butter. But it won't win any number-crunching competitions.
To summarize the changes in the iPhone 4S:
- The CPU is now in line with competing high-end handsets
- The GPU is class-leading
- So far, it looks like the camera is a winner as well
In terms of specs, the iPhone 4S is what everyone expected the new iPhone to be. It doesn't have any big new features like LTE or NFC, but I wouldn't have bet on these anyway, since the first generation of LTE chips is still very power-hungry and there isn't even a universal standard for NFC yet. If Apple had implemented LTE at the cost of reduced battery life, I guess "battery gate" would be right around the corner.
Anyway, I think the big disappointment is that a lot of people (me included) expected a redesign after 16 months, because it means that some iPhone4 customer's contracts will be up before the next iPhone is out and a lot of people don't want to upgrade to what looks like the same phone to them.
If the 4S had been presented 4 months earlier at WWDC, the nerdrage would have been only half as big as it is now.