Copyright can't protect ideas, only specific expressions of them. If my code contains a brilliant and truly novel idea for efficient data storage, you're free to write your own code implementing that idea without violating my coyright.
Patents solve a problem where inventors might reasonably choose not to distribute improved products widely because they're unable to ship them without revealing how they work. We want them to sell these inventions to wide markets without delay, so issuing time-restricted patents is useful to achieve that goal. As other posters stated, shrinkwrap software has the same issue (so patents might be useful for this scenario) but SAAS does not; you're going to use the brilliant and truly novel idea for efficient data storage anyway, and if other people would be restricted from doing so then that makes the society to use inferior technology with no good reason.
+ hopelessly contrived just to make a point.