My 3 year old or so iPhone 3GS is dying. The screen is packing up with lots of dead pixels in the area of the swipe; the silence switch is now dodgy; it's crashing regularly despite reboots; it has overheated twice in the last month; the other day it wouldn't stop vibrating until I forced reboot it.
I haven't mistreated it having kept it in a case with a screen protector.
Anyway, I was looking at *gasp* crossing over to Android with a Galaxy Nexus. The other alternative is to tough it out until iPhone 5 turns up, but I don't think I'll last.