Google's official Google Voice app may never see the light of day, so GV Mobile is the only way to get your all-in-one telephony fix on the iPhone.
From the App Developers: GV Mobile allows users of Google Voice to:
• dial numbers (domestic for free and international at a variable rate) via the iPhone's address book or typing in on the keypad
• send SMS messages
• retrieve and delete recent call history
• playback and delete voicemails
• take calls from different phones other than your iPhone
• add, delete, enable, or disable the phones that Google Voice forwards calls to