I worked for them years ago. Most "unexpected charges" are because one of their marketing tactics is to send out checks to bank customers. These checks could be as little as $5 or as much as $25. On the back of the check, if you read, it says it that if you deposit this check, you agree to receive their product (They have many). And it tells you how many days or months you get for your free trial. And it tells you that if you don't call to cancel before trial is up, you will be charged monthly or yearly a certain amount of money. The problem is many people just deposit the check without reading. Or people plan to cancel at the end of the trial, but forget. I understand people thinking this is deceptive, but it goes to show you that everyone needs to read what they sign. Just like those e-mails you get from Nigeria.
Out of the hundreds of complaints by people saying that they didn't sign up that I dealt with, I only found 5-10 where the company couldn't find a signature or a recording of the person agreeing to it. It happens, but rarely.
The refund issue, unfortunately, is a result of the Graham-Leach-Blyley act from about 8 years ago. By Federal law, Affinion cannot keep a real credit card number or bank account number in their database unless a customer specifically gives it to them. So the only way they can bill these customers is to send the billing to the bank through which they signed up, and attach a fake ID number that the bank only knows. Since Affinion doesn't have your real account number, refunds must be sent every 2-4 weeks in a special file that the bank then decrypts and converts the fake number to a real number on their end, and then processes the refund. This whole process increases the refund time by a few weeks, but there is no way around it without violating the live credit card law.
I saw many cases where the same person signed up multiple times for the same product. Probably because Chase Bank sent them a "check", and then Capital One sent them a "check", then another bank sent them a "check" - all for the same product. Affinion has a system that tries to prevent you from signing up more than once, but it relies on making sure the same credit card isn't signed up more than once. They do it by credit card number, because there could be 2 or more customers with the same name. So if each different bank gives Affinion a different fake credit card number, potentially someone could get billed multiple times for the same product each month.
I'm not saying this company is a bunch of angels, but I worked in their billing area, and because of some of the unexpected effects of Federal regulation, it is sometimes difficult to successfully find and refund members in their huge database of literally millions of customers (active and cancelled).
My best advice is to make sure that every time you are offered anything free, you should read the fine print very carefully. There are one or two of their products that I think are worth the money charged (as long as you use it). I agree with the original poster though, that their customer service should get their story straight as to whether or not you need to mail or fax in a refund request form.
Hope this helps with an explanation. I know it can be frustrating though.