I think the biggest step in reducing any kind of spam, be it snail mail, email or phone calls.... DON"T BUY FROM THEM.
Like puffy said, they make money. How many times do you see a company send 5 people to your house with a new car and let you keep it for a week to see how you like it? None, cause it's not cost effective and they can't make a profit. As long as people keep buying from spam sources, it will continue.
The Do-Not-Call list? Good idea, less phone calls. Now how many of the people that used to make those calls are going to move over to email spam or something similar. It's what they know. Sell stupid shit to thousands and hope one person falls for it.