I registered myself on the do-not-call list and it has worked pretty well so far. I had to bitch out the Auto One people for calling constantly, but they’ve since had many BBB complaints and, I believe, have dissolved. It took them a while before they stopped, though. I spent a good three hours one day calling them with different amusing messages. I still get calls from charities all the time, which I mostly ignore.
Occasionally a call will still slip through, and I do what @jonsblond suggested and let my 2 year old talk to them. Or I’ll just hold the phone up to the radio or something.
Religion pushers get a little more sympathy from me. I simply tell them I’m not interested.
Edit: If you’re sick of getting credit card apps and junk mail, there are numbers you can call to stop those mailings as well. Capital One has a number at the bottom of their mail to call to get taken off their mailing list. This has also worked for me a great deal. Not perfect, but significant.