Domestic calls are free via google in the sense the it'll handoff the call through their servers so your GV# will show up on caller ID. You're still paying for whatever your normal phone service is.
They offer international calling, through their own servers at probably a cheaper rate than most phone service providers (though I haven't researched that).
From outside the country, my guess is you'll still be charged your regular int'l roaming rate since you're essentially calling GV's server, who're relaying the call. If you call an int'l # via GV, while int'l roaming, then you'll be charged twice because of your int'l roaming rate + GV's own int'l calling rate.
I think that's how it normally works...though I'm sure there are ways to bypass some or all extra charges using various softwares and/or VPN. I've never researched it though.
edit: some suggestions
here. They seem centered around using a GV dialer (not the official GV android app) + Wifi + SIP number/service for callback + SIP/VoIP software.