Maybe because McCain is diametrically opposed to only one Obama policy and that is the way forward in Iraq. Could he honestly take the job and then the next day accept an order to pull all the troops out? He might just have to face that scenario if he did this. I don't believe it will happen.
Definitely more valuable than having him in the cabinet trying to fight against cutting the DOD budget to shreds.