It is fairly common for new technology development to cost vast sums of money while yielding nothing practical. Importantly, when developing new technologies, people understand that something may or may not come out of it, and they accept that (somewhat).
The other factors are definitely an issue too, though:
- Lack of physicality of the output
- Increased likelihood of unintended interactions between components
- Clients changing their mind halfway through (!)