In our area, the only way to avoid an HOA is to buy an older home. We wanted a newer place in a nice neighborhood, so we have an HOA.
What some people don't understand is that unless you go to HOA meetings (which may only be held once per quarter), you really don't know what the HOA is going to be like. You can read all the rules, but as with all rules and laws, there is a certain amount of interpretation that depends on who is in charge. And that is what it really comes down to. When HOA's are being run by idiots, they can be a major pain in the ass.
We've experienced the good and the bad in the same neighborhood. When we first moved in, the HOA was run by a bunch of cocky, egotistical assholes. These board members put us in debt with their poor management. When certain members of the community started becoming vocal with their complaints about the board and demanding answers, the board members started using their power to harass the homeowners who complained. For example, the rules say you have to keep your lawn looking nice and weed free. People do their best, but almost every house has at least a couple weeds in the lawn. But the board sent violations and fined only those owners who had argued with them, even though their lawns were no worse than half the neighborhood.
Eventually, things got bad enough that a petition was created and enough signatures were collected to hold a special vote to remove the board members. The vote passed, the assholes were removed, and a new board was elected. It's been two years since the new board was put in place and so far, everything is good. Yes, they enforce the rules, but they do it in a fair and reasonable way. If someone is violating a rule, they stop by their house, knock on the door, let them know about it, and give them a chance to fix it.
So it really comes down to who is in charge of the HOA. The problem is that unless someone is personally affected by the board, they probably don't give a crap who's in charge. So when only a few owners are being screwed, it's hard to change the leadership.