I always feel a bit sad when so many people say they 'can't stand' people who knock their door, and those that don't care when they're rude to them etc.
By all means don't like the companies for choosing this method of business...and for those individuals that are really, really pushy or aggressive (which IME is rare).
But the majority of door-knockers are just poor buggers who need the job. Years ago dh got made redundant with no notice and no payout, 5 weeks before Christmas, when I was 30 weeks pregnant with our first. Desperate and royally fcuked pretty much covers our situation at that time.
He did the door knocking thing for 2 months (can't even remember the company now) because it was the only job he could get that close to Christmas and we were skint. It was utterly soul destroying and the stories he'd tell me about people looking at him like he was shit on their shoe, telling him to fuck off, shouting abuse, standing smirking and looking proud of themselves as their huge mutt barked aggressively in his face...and then the real arseholes who like to try and 'teach them a lesson' so would invite him in and waste as much of his time as possible in 'signing up', then laugh and tell him to fuck off.
It's really, really unnecessary. I don't want to waste anyone's time, so I don't even let door-knockers get started. A polite 'I'm really sorry to interrupt, but I just don't sign up for things on my doorstep', and if they persist, again 'Look i'm sorry but I don't want to waste your time. I'm not interested. Bye now'...gets rid of the even the most persistent most of the time.
I treat door knockers like they're, you know, an actual person with feelings and stuff. You can be firm without being rude, or worse, even if they do annoy the fuck out of you.