It would be even more wasteful to build a stack, then even if it didn't work / new features needed to be added / old cruft needed to be removed / new devices and services need to be supported, just keep using and developing that stack.
It's called agile development, and it lets them respond quickly and efficiently to changes in requirements / mission.
See also: Facebook, Twitter, most other tech companies.