Like all agencies, we have to price our work to achieve two things - value for money for the client, and profit for us.
It's a good balance that results in a happy client, a thriving agency and a relationship that is mutually beneficial.
The one big thing that can affect price is client incompetence (there's probably a kinder way to say that but it's the probably the most appropriate word). Agencies are often forced to deal with lower level employees who give the agency bad direction, incorrect information, or are guilty of inept decision-making. This leads to endless meetings and limitless rounds of strategic, and creative wheel-spinning.
When the real decision makers finally get a look at the result, the agency often looks like it has spent mountains of time and money foolishly.
One of the biggest problems agencies have when it comes to calculating a fair price is projecting how many people are going to place themselves between them and the real decision makers.
And one of the biggest problems clients have in comprehending why agency costs are so high is understanding how much agency time they waste needlessly.
In the long run, the only unique asset an agency has to sell is creativity. Clients can get everything else elsewhere, usually for less. If the creative contribution is not highly valued by the client, you'll always be struggling for profit.
Agencies should strive to do good creative work for no other reason than it is good for the bottom line.