iMessage is not a good solution for everybody.
For people who are heavy Google Voice users and have their GV number integrated with Sprint, iMessage actually creates an inconvenience. I spend most of my day in front of a computer. My Google Voice tab is always pinned in Chrome next to Gmail, and when I receive an SMS, I just switch tabs and fire off a reply. It takes me literally a couple of seconds to write an elaborate text message--something that I couldn't do even when I had a QWERTY Blackberry. I can no longer do that with iMessage.
For example, last night, my iPhone was charging on my desk, and I was in bed with my laptop finishing up some work. I got a text message notification on my iPhone, switched tabs in Google Voice, and didn't see anything! It turns out that the message came from another iOS 5 user. I had to get up, go to the phone, and then use the cramped on-screen keyboard to write the reply. I think you can see how that's a lot less convenient. Also, SMS is free for Sprint users, so we are not saving anything by using iMessage.
The other benefit you lose is having searchable SMS history in the cloud that travels with you when you switch phones or providers. I can search all my old SMS messages in Google Voice, just like I can search email in Gmail, regardless of whether I use an iPhone, Android, Blackberry, or Windows Phone. You lose that ability with iMessage.
You get the idea. iMessage is a nifty app and nice for people who waste a lot of money on SMS, but it's not for everybody. Yes, it tries to solve the problem of everyone depending on carriers for SMS, but it does it in a typical, proprietary, Apple way, i.e. it forces people to use the Apple platform and locks your messaging history with Apple.