I've been using iOS4 on my iPhone 3GS for a couple of weeks now. As a result, I believe I have experienced every known bug at this point and have to say that compared to previous OS releases, this thing is solid.
There have been many reports of crashes, failures to upgrade, and the like, but for me the upgrade was fast and easy, and I only experience crashing and hanging of apps when running an application that wasn't really designed to multi-task. Thankfully, Apple anticipated this, and gives you the ability to kill background apps, which basically means you have a task manager at your disposal.
There are a number of new features loaded in iOS4, and the folks at lifehacker have detailed a bunch of them. For me, the most used features are the app folders, multitasking, threaded mail, and improvements in the camera app.
Folders: The folders themselves are as close as Apple is letting us get to customizing, and as you can see, I'm really just using mine as a way of collecting apps into like categories. I prefer the generic names like Utilities and Games, just to keep things simple, and then still search on the iPhone for a particular app, as needed. I also have created a Folder in the bottom row, so that I can have easy access to my favorite apps at all times.
Multitasking: I was not a believer in Apple's implementation until I actually started using it. Initially the software tries to make educated guesses as to what apps should stay in the background. The nice thing is that you have the ability to swipe through the list and then even close them out if you don't want them running. I've done a bunch of tests on performance and it seems that even with a ton of apps running in the background, I haven't noticed any performance improvements once they're all removed. That said, I'm still not noticing poor performance with them all running, either, so Apple has done a decent job with this implementation. You can also use this same swiping method to swipe and tap, to switch to another running app. So, you have a task switcher and a task manager.
If you haven't noticed that much of a difference with Multitasking, try loading up some newly compiled apps that are build for iOS4. You can usually spot the difference since when you leave the app and then return to it, it will start exactly where it left off. Previously developers could save the state, but it wouldn't always return you to the exact position.
Threaded Mail: This feature is exactly as it sounds. It takes some getting used to, but if you use the Mail client on the iPhone, you'll be impressed with its ability to now thread. That means that you'll finally be able to follow the conversation, similar to the way you do with GMAIL. I use GMAIL as my main e-mail, but I also use the Mail app on the iPhone. With threaded mail it's definitely much easier to manage my e-mail now.
Camera: I take a lot of pictures and videos with my iPhone 3GS. Now the camera snaps a lot faster and also includes 5x digital zoom. If you shoot video you'll be happy to see the tap to focus implemented, too. The digital zoom does a decent job, but I still recommend staying away from it if you can since it can yield blurry photos. I also noticed that with a faster shutter speed, it seems that my iPhone can't take in-motion photos as easily and is rendering them blurry a lot of the time. I'm going to test that more, but that's an unfortunate side effect of the upgrade so far.
As I mentioned above, there are a ton of new features to enjoy with iOS4, but first make sure that your backup to your iTunes was successful.
With the uncertainly around whether or not your iPhone is really pre-ordered, this free upgrade to iOS4 might just be all you need to keep you happy with your iPhone for another year.