From what I've heard, Cisco is becoming the one to beat in VoIP hardware (go figure - routing IP packets is their business, after all). Their call manager can do some pretty cool stuff and so can their phones. You can push HTML to the phone screen with a call - imagine seeing not just the customer name of who is calling, but their order history, any outstanding customer-service issues they have open, and a list of recent emails with them when the phone rings.
I had Vonage for a few months but got sick of people asking me "to call back from a land line". Also, about 20% of the time, I couldn't get a call through. Just got a fast beep or nothing at all.
There's an opensource Linux-based PBX that'll do VoIP that seems pretty powerful called. Asterisk. Check it at
www.asterisk.org.