I don't know too much about VoIP but here's what I can tell you. There arre two types of VoIP(Voice over IP), one using "hard" physical phone sets, and the other using "soft" software sets which is basically just a GUI that runs on your computer.
I only have a little bit of experince with only the Cisco "hard" IP phone sets.
I'm not sure sepcifcially which switches, modules and IOS support VoIP.
I belive we have it running on Cisco 6500 or 6509, not sure about the IOS version. One thing to be aware of is you want to make sure the power supply of the switch is strong wenough to suport the Power over Ethernet(PoE), so that the IP phones can run off of the power from the switch port and not have to use the available power cube and cord, which you would have to usse if your switch and IOS doesn't support PoE.
However basically each IP phone has a MAC address, a username/profile, and telephone nuber which is programmed into the Call Manager system(which essentially just keeps track of all the IP phones and associated profiles.)
Less cabling-you only need one Cat5 or Cat5e drop to each workstation, instead of one for data and one for voice. you plug the computer to the phone, then into your desk LAN jack.
Convenience-the idea behind VoIP is that it elimiates any phone or long distance charges as you are calling via your LAN, and not over phone lines.
Also the concept is that if you were in say based in a New York office with VoIP, then went to your companies Vancouver office with VoIP and you bring your phone set with you, you could plug into a desk in Vancouver, and when people call your phone number, your phone will ring in Vancouver.
Cost, the IP phones aren't exactly cheap.
Also there are soe Quality of Serivce issues.
ALso a 911 issue, but I belive Cisco has addressed that.
Hope this helps.