The Do Not Call Registry does not apply to charities or political messages. As for other businesses (telemarketers), before calling you they're supposed to run your number through the Do Not Call Registry. If you're listed on the registry they're not supposed to call you, unless you have previously done business with them. If you have done business with them, then you can demand that they add you to their "do not call list". They have so many weeks to add you to their own "do not call list", and after that time the same rules of the Do Not Call Registry apply; they're not supposed to call you again.
If they do call you, then they can pay a penalty up to $1600 per call to the FTC. Most suggest that you mail them a registered letter (delivery confirmation) with specifics (who called, when, what time, if you've done business with them in the past then include who you spoke with and when you asked to be added to their do not). In this letter you state that you will report them or they can settle for something like $250. Most will settle for the lesser amount. Some companies have already been fined millions for violations.
The key is that you've got to log down information, like who called (specific name of the person & company), when they called (date and time), etc.. Phone records are definitive; so there's no way that they can deny calling you. Some recommend leaving a notepad and pen by your home phone for this purpose.
As for the OP's question about how to block a number, a lot of information has already been provided. I just wanted to say that you could add the number that's calling you to your contacts. Then, on that contact's screen hit the menu button and go to Options. There's an option to always send calls from that contact to voicemail. If you have multiple persons that you want to block, instead of creating a separate contact entry for each of them, you could just have one contact, named "Blocked Callers" or something like that, and add all of the problem phone numbers under that contact (you can add a bunch of phone numbers to a single contact). If you use Google Voice, rather than your carrier, for your voicemail, you can create a briref personalized voicemail greeting for that contact saying "you're officially on notice to stop calling me. If you call me again, that's harassment, and I will report you to the authorities. This call has been logged." Google Voice will keep a list of all of these calls. If the person tries calling you from a different number, just add that number to the "Blocked Callers" contact.