I used to have a housemate who had a constant problem with the handset Optus (Australian Telco) sold to her. She was on Pre-Paid (Pay As You Go) so she paid for the handset outright. Every month she'd ring up and complain, every month they'd offer her $10 credit to get her off the phone and every month I'd ask "but did they fix your problem". She didn't get it and continued to get constant call disconnections.
Companies offer free shit because it's easier than fixing the problem. When you take the free shit, you give them a free pass not to fix the problem.
The other side of the coin is that there are plenty of people who call to complain, but don't really want the "issue" fixed, because they don't actually consider it to be all that serious of a problem. They'd rather just use it as leverage to get free shit.