This is the way I use Google Voice:
1. GV is my voicemail for my ATT iPhone account. When someone calls my mobile number and I don't pick up, it goes to my GV voicemail. At which point, I get an email and a text alert that someone left a voicemail.
2. I give out my GV tel. number along with my mobile number and ask people to text me at that number. It's not usually a problem, and if someone texts me at the wrong number, I just reply using the GV app and we carry on our conversation that way. Since i don't have a text plan, this can cost me 20 cents a text. I used to pay for the $5/200 txt plan, but realized that I never used more than 5-10 messages a month so I canceled it.
I don't use Google Voice as a complete replacement for my mobile number because I do not care for the reduced voice quality of calls. Mobile phone calls are difficult enough to hear, passing it through GV gave me very robot like, low volume calls. I could tell a difference so I decided to forget it and just keep using ATT direct for voice calls. BTW, Verizon voice quality is much better. I notice how much more natural people sound when I use my sister's Verizon iPhone.
I am still looking for ways to integrate iMessage. I probably will not really use it as much as I would like because I really like the ability to send text messages from my Gmail account, another benefit to using Google Voice for texting. That is such a huge benefit that I am willing to forgo the prettier more friendly and less buggy Messages app. From what I have used, iMessages is a very slick system. It feels more responsive than standard text messaging. I feel like there is a real conversation happening. Also, sometimes with text messaging you get odd behavior when you text with people on different networks or on different devices (Blackberries). Sometimes texts get broken up and sent in the wrong order. I imagine stuff like that wouldn't happen with iMessages.