Não necessariamente - você só precisa das bibliotecas necessárias - como libc ou mscrt, se elas estiverem dinamicamente vinculadas, ou apenas suporte de tempo de execução adequado para os binários que você está executando. Mesmo muitas distribuições linux não vêm com compiladores embutidos (muitas vezes eu acabo instalando o build-essential para o Ubuntu quando eu preciso compilar pacotes por exemplo), então esperar que o windows tenha um construído não está correto.
Você pode executar arquivos compilados sem um compilador no sistema. Suas linguagens interpretadas que frequentemente precisam das ferramentas de linguagem instaladas para serem executadas - como Java ou Python
Se você precisar ter um compilador, existem duas opções bastante comuns - o mingw ou