Oi Marcelo,
No seu exemplo são dois "componentes" (aplicação e processador) com interfaces bem definidas de como eles devem se comunicar, cada um com seu encapsulamento (a aplicação não conhece de transistores e afins assim como o processador não faz idéia pra que serve a aplicação).
No caso de uma aplicação que vc está desenvolvendo, seja node.js ou whatever, vc deve ter liberdade total já que o que tem ali dentro esta sob seu controle, com liberdade para furar qualquer abstração e interface que vc bem entender. Caso haja interação com outras aplicações externas, sua aplicação deve expor interfaces bem definidas tb, como o processado.
E ai entram os frameworks com um tradeoff: liberdade vs. uma promessa de ganho de produtividade. Alguns frameworks impõe convenções e isso tem alguns ganhos, mas o problema é quando o framework não sabe lidar com os casos de excessão (que acontece tanto que nem considero excessão) e ai o ganho vai pro ralo. Alguns frameworks são mais permissivos que outros, claro, mas ai o "ganho" tb não é tão grande.
No geral, minha percepção é que os frameworks com "forte opinião" tem uma tração maior pois dá a impressão que temos facilidade em modelar nosso problema de maneira fácil, basta colocar um pouco de código no controller, outro na view e no model e pronto: estamos usando OO! (sim Rails, estou olhando pra vc!) E minha experiência diz que o MVC não é suficiente para dar conta de modelar uma aplicação, principalmente aquelas que nós desenvolvemos aqui, voltadas para o negócio. Sem contar que a maioria dos frameworks atrapalham MUITO os testes, tendo sempre que fazer gambiarras para funcionar com testes automatizados.
Tenho certeza que existem excessões, mas resumindo, hoje estou contente de poder pegar apenas os pequenos módulos que resolvem problemas bem definidos e montar o meu próprio stack, com os padrões e convenções que fazem sentido para o projeto.