I don't know about you guys, but when I started my business, I didn't have time to wait for someone to see my truck or hear about us from their neighbor. I needed to pay rent the next day.
Virtually all of the places I work in are "no soliciting" in some form or another. If I let that stop me, I would have never made it.
I agree sending mailers and networking are far better in the end, but this also takes time and is marketing that builds on itself. I may be wrong, but I think when a business owner is handing out flyers door to door, they need the work. Sometimes you just gotta make it happen! There is always going to be someone that gets pissed at you.