Most people here will say it is because "it's the perfect screen size" because at some point in the previous decade it was the perfect balance between power consumption and usability. They'll also say that Steve Jobs thought it was the best screen size, and thus there is no space for improvement.
I'd argue, however, that they settled with a 3.5" display because - in 2007 - it was expensive to produce these kind of displays. The bigger, the more expensive it is. I'd also argue that, at the time, they simply weren't able to ship an iPhone with a bigger display (GPU requirements, power requirements, costs).
That limit (GPU requirements, power requirements, costs) is now gone. However, we now have an App Store with hundreds of thousands of apps. You simply can't ignore all those apps.
And the smaller the display, the more money they'll make. A 4.3" display will cost them more money than a 4.2" display. And a 4.2" display will cost more money than a 4.1" display. etc.
Also, it has nothing to do with size. The rumoured 4-inch display for the next-generation iPhone, could easily fit in the current iPhone 4S' design. It would look like this:
Light grey: 3.5". Light + dark grey: rumoured 4-inch display
Edit:
Heck, even a
4.5" 1280 x 720 (720p HD) display could theoretically fit in the current iPhone 4S.