All VOIP phone solutions depend on you having a solid, reliable and fast ISP. If you are always cussing at your internet access speed for surfing the web, etc, don't even think about going with a VOIP, for your phone service.
That being said, in my area I have comcast cable internet and it is (I believe) the fastest available ISP in my area. For my VOIP I use ViaTalk which so far has been cheaper than comcast's VOIP service. It has been 100% reliable for over two years now since I set it up...Have never dropped a call, etc. And the features can't be beat....voicemail forwarding to email, call routing, etc
Be aware that if you have a traditional alarm system and decide to deactivate your old copper phone line, you may need to find a (usually, expensive) work-around to make it work with VOIP...most all alarm systems depend on pulse dialing to send alarm status codes to the monitoring center, and VOIP usually will not support pulse. So you can either keep your old copper line with just basic service, or, go to a more modern alarm system solution, such as alarm.com through a company like Frontpoint.