I just got the Samsung Galaxy S II for 99$ and was able to keep my old unlimited data plan. The phone is outstanding, great camera, runs smooth, and should have Ice Cream Sandwich update soon(ish). I had an old Samsung Captivate that was a little weak, but the custom rom scene is made it a very fun phone to play with. The Samsung firmware makes it easy and safe to play with custom roms, they are almost impossible to brick. With google voice you can save on a texting plan and I love the voice mails getting transcribed to emails.
The Galaxy S II is good hardware, runs games great, easy to root and for the price, it's a easy buy.
Xda developers forums may seem intimidating, but just look around, search before posting, and post questions in the Q&A sections and you will find you can get a hell of a lot out of your phone.
It looks like RavenSword went ahead and upgraded to the 4S, so I'll sort of highjack this and ask a similar question. I have an AT&T upgrade in August which was planned to be used to upgrade my wife's phone. Last March she upgraded from a 3GS to the Inspire 4G and has had nothing but problems since around last October, it is constantly freezing, vibrating randomly, chugging along, ect, but never able to re-create on the spot so we were never able to get it replaced. Instead of waiting until August for our upgrade, I was thinking of getting her the Galaxy SII off contract but saw a rumor that the S3 might be out in May.
Any advice if we should wait for the S3, get the S2 now or wait it out until our upgrade to see what is available then?