I had the iPhone 2G, 3GS and now the iPhone 4. Between the 2G and the 3GS, I actually didn't see that much of a difference. But between the iPhone 4 and the 3GS, there are a bunch of things that I love with the 4. As others have mentioned, it's much faster, and doesn't crash as often as the earlier generations, especially when you restart the phone. Before it would take like a minute or two to restart the phone, with the 4, it's like 25-30 seconds.
What I love the most would have to be the retina display. The shit is so fucking clear, especially the apps that are built to support the display too. I could hold the phone 4 feet away from me and perfectly read the text of the screen, awhile with the earlier generations, it would be like 2 feet at most. Anyhow, the display got me sold completely.
Lastly, the camera got a huge improvement. I gave my 3GS to my girl, and whenever she takes a picture with it, and I take a picture with my 4, there is a remarkable difference. It's much clearer on the 4.
I'm also a huge fan of the box shape the 4 has.
[ame=http://www.youtube.com/watch?v=rt4gk3g6ssU]YouTube - Been Had Cases[/ame]