You need a connection that is fast enough to support the number of concurrent calls you will be making. Basically, allow at least 100 Kbps up AND down per call. For most single line homes, this isn't an issue.
You will need to make sure that you have control over your router and the ability to configure it as necessary. Certain firewall settings can wreak havoc with voice calls (ALG, SPI, port triggering, intrusion detection, etc). You will also need to be able to forward the ports as necessary (depending on VoIP protocol used and model of phone, this will vary).
You will need to make sure that you can get control of the ISP device or that you can have it bridged. For the same reasons as needing control of the router, many ISP modems and routers can cause problems with VoIP.
You will need to ensure that your ISP does not enable ALG anywhere on their network, this will cause dropped calls and possible one-way audio issues.
Other than that, you need to make sure your internet circuit is clean of jitter, has latency under 100ms and no packet loss or you will experience a lot of call quality issues. You also will want to implement some sort of QoS on your router in order to prioritize our VoIP traffic (keep in mind that this will only prioritize it on YOUR network, not on your ISPs or any other network it traverses before it reaches the voice servers, but it can still be helpful).
If you are in the US, you will want to use a service that employs e911 so that you can rely on emergency services. In the event of a power outage, e911 will cease to work unless you keep your modem/router and your VoIP phone on battery backups.
Your phone is also dependent on your internet connection, so if you internet line goes down or has issues, it will affect your VoIP service.
As far as hardware goes, you can use smartphones or smartphone-like services like skype or counterpath xlite and any earphone and mic combo will work fine, so long as it is comfortable. If you want to use a hardphone (ie linksys 942, cisco 303, 525, polycom 321 335, etc), a lot of services will provide support for them and this will allow you to put the phone anywhere you can supply an internet connection to (but I do NOT recommend a wireless solution for placing your phone, but is is possible, see the cisco 525 for this option). You can also use your existing analog phone by getting a digital to analog converter (ATA, like the linksys 2102).
Some example of services that you can use are through companies like Megapath, AT&T, Verizon, Packet 8, WCI, and there are a hundred more.