I think it's easy for the decision-makers to take programming talent for granted because they can't see it or estimate what it can do. If my manager comes to me with a task, he may not even know if the task is possible. If it turns out to be relatively simple and I kick out the solution in an hour, he's impressed, but he's also "learned" this this stuff is easier than he thought. That shifts his mental window of what's possible in X hours. Every time he thinks, "That must have been easy after all," the more he's likely to devalue what he thinks the work should cost. A smart manager will know better, but many don't.
We could combat that tendency by taking a longer time than necessary on some tasks, basically loafing to make our work look harder, but who wants to play that game?