Since we're thinking like CTOs we need to account for risk, not cost. IBM sells Watson to companies with money, and for those clients the factors driving decisions are more often risk and liability. A CTO with budget who chooses to build in-house is taking a big risk. If IBM fails, they can cover their ass with a contract. If they fail in-house there is no such safety net. Easier to save face with the board.