If it works fine at Starbucks but not at home I'd suspect you may be dropping packets on your network. (Either behind your router or in the cable network.
Here are two free online tests that will measure packet loss. Run them from behind your router at home. The first one is designed for gamers to test their connections, but the principle is the same and it does measure packet loss. Be sure and run this during a normally busy time or when you might want to make a call.
http://gamer.ubicom.com/benchmarks/benchmarks.html
The second one is a bit more thorough and user friendly. I include both for reference so you have two independent results.
http://myvoipspeed.visualware.com/
If you ARE suffering packet loss, or significant jitter, you will need to address this with your ISP.
Regards,
-Bouncer-