We need to understand companies do two kind of R&D , one is where company try to enhance their current offering to ensure that they remain on the cutting edge of the current lot (Maps, Search, UI based R&D in apple are examples of it), while other side of R&D explore other opportunities in CS and try to break new grounds. These R&D require more budget and are of experimental nature. In result , the first kind of R&D produce better results in terms of money spend but provide a narrow path of innovation while the later kind provide more wider path of innovation but produce less fruite in terms of money spent.