The Vernon Davis deal seems to indicate that teams have wildly different valuations of assets like compensatory picks. If I'm reading the rules right, if Davis, who's in the last year of his contract, signs elsewhere for a decent deal then the team that loses him will get a comp pick. So any trade that includes him should require that the team that acquires him beat that comp pick for value.
San Francisco got two sixth round picks for Davis and a seventh round pick, but they also lost and the Broncos gained whatever comp pick a team gets for letting Davis sign elsewhere. If it's even a 6th round comp pick, the deal then becomes San Francisco getting two 6th round picks but losing one to net one and Broncos getting Davis for one season, and a 6th and 7th round pick. A total win for the Broncos. The Niners should have asked for more or included a conditional pick that kicks in if the Broncos get a comp.