Let me make some corrections to your observations.
Google voice does not use VOIP at all, for anything. Making a call from a cell phone through google voice sends the call request via a data connection, to which googles servers initiate two calls. One to your cell phone, and another to your party. The google voice software on the cell phone intercepts the incoming call and answers it, and then waits for the other party to pick up... If you're webapp crippled on an iphone, the calls are still routed over normal calls using normal minutes between your phone and the GV servers. Here is what is lost for each party
Apple looses control over some or all of your contacts as google voice will use your google contacts, and those stored in your phone. On android, they are one and the same.
AT&T looses the ability to see who you are calling and whatever aggregate crap they generate from that to sell to whoever... Why this is valuable to them or how they even have legal authority to sell it is beyond me. They also loose 50% of the SMS revenue from the account as outbound SMS can be done over data.