I doubt that most people who are employed are going to agree with every single policy of their employer.
It's not irrelevant that the people who deal with the customers aren't listened to when they feed back issues, it's very relevant because as many say they're the face of the business and the one customers complain to when something doesn't work - employers ignoring that are the problem.
Blaming the workers for being employed and having a job, but not automatically agreeing with every policy produced is a cop out for those above and they know it, and that's why when the customer facing staff are taking the flak and being ignored when they feedback your issues as a customer, nothing changes.
If one leaves then another will take their place, these jobs have high turnover (which itself means poorer service) and this is one of the reasons why. I have left jobs where I've really disagreed with a certain aspect, a well known newsagent and their insistence on up selling even when the customer has specifically asked you not to, with a disciplinary if you don't - but it took me 6 months to find another job at a similar level and pay, and frankly I needed the wages. The job had prospects as well, so I wanted something equal or better.
And why should I put a good work record, the work I've done to move forward and get promoted and my livelihood at risk by 'taking on' the company I work for over their policies or my financial situation by leaving without something else to go to? It's a job, not even considered a career, not a calling from God.
The responsibility lies with the companies to listen to their customers through their staff, not ignore them and let them take the hassle for their money saving corner cutting.
I can not agree with something on a personal note, but ensure it happens because it's part of my job to do so. I'm not paid for my personal opinion, I'm paid to carry out the duties my employer sets out.