Benchmark does not measure accurately depending on the algo.
CCMinerAlexis78, maybe other CCMiner versions also, average hashrate from the last 30 shares submitted by default so on algos that take a lot of seconds per share it does not have enough time to reach closer to real hashrate produced by the system. So the end calculation about optimal profit are skewed in favor of algos that produce more shares per minute. Adding the parameter --statsavg and setting it to 5 or 10 should make this issue a lot better.

-edit typos