Vou dar um ponto de vista bem simples, que está ocorrendo comigo:
Trabalho em uma empresa de Energia Solar. Esta, está buscando um software para gestão de projetos e monitoramento e etc...
Após contratar vários sistemas diferentes, notando que nenhum atendeu conforme as expectativas, resolveu desenvolver um software próprio, pois cada empresa (ainda que seja do mesmo ramo) tem um modo de operação diferente, seja no macro ou no micro.
Apenas como exemplo de uma situação atual.
Sou apenas um iniciante na área de programação, no entanto, na área empresarial, que possuo mais experiência, vejo que existe muitas demandas, tanto simples como complexas.