The frustration you may have when first learning it does make for a less pleasant experience. Once you start to understand and learn the system, it's not so bad. Having said that, coming from an Avaya background, there's definitely a lot Cisco needs to learn when it comes to telecom. I know what you mean by stupidly complex. If a person changes their name, see how long it takes you to update the phone profile, line profile and user profile (assuming you don't have to delete it and create a new one because pre-5 systems can't rename them). Another thing I can think of is when adding a new user profile on a 5.x system, you have to add them to a group, otherwise they can't log into the user web page. This means going into separate page to add the user account. The BAT tool automates this, but it's gotten to the point where if I have to add a single phone/user, it's just as fast to use BAT then it is to do it manually!
The good news is VoIP rocks when it comes to small office deployments. Being able to run all of them off a single system is much better then having each site run their own PBX and VM system. Just be prepared to spend more time with the daily administration of the Cisco system.