i prefer Yahoo Voice. I only pay $2.50 a month for a valid phone number so people can call me and if i dont pick up, they can leave a voice mail in my yahoo mailbox. Calls to cell phones are real cheap with Yahoo voice out. Like 1.7 cents a minute for US calls....and the lowest rates I have seen for international calls.
Google Voice is free....but will start charging like yahoo in January. I do like that google voice not only allows people to leave an audio message in your gmail box....but it also TRANSCRIBES the voice mail! Its pretty accurate too. However, sometimes it will turn to gibberish if the person leaving the message doesnt speak clearly.
There is also an app called Whistle Phone....which gives you a number for free AND the ability to make free calls anywhere in the US. Calls can only be 20 minutes long....and u do have to listen to a quick ad before calls...but its good in a pinch. People can't leave voice messages tho. Thats why i got yahoo.
Of course there is skype. Which i do like for skyoe to skyoe calls. Lots of people around the world use it, so it's great for international connections. And unlike Apple's facetime, does allow audio only calls. Calls to cell phones using skype are more expensive than Yahoo tho...so i only use skype for skype to skype calls.
Lastly facetime is great since i am a mac user....but as popular as Apple is....many of my friends still dpnt own an iphone or ipad. Hopefully soon. Same for imessage.
I have an unlocked iphone, since i travel alot and dont like being locked into expensive contracts. I have found that VOIP apps on my iphone, ipod and ipad are all i need.