Bem, vou tentar ser simples (assunto amplo)
A diferença entre windows e linux é clara, o core não é o mesmo, não vou na direção da história (verifique na wikipedia se você estiver curioso;), mas o linux tende a preferir script porque isso permite usuário para personalizar a instalação ou o sistema operacional como quiser, o windows usa .exe que modifica a chave de registro para executar o programa.
Por que você precisa digitar todo o caminho para executar o windows exe é bem simples (eu não entro em uma explicação muito chata), o windows realmente não usa a variável global (easy explaination: the registerkey don ' t realmente precisa disso para operar o exe), enquanto o linux tende a amar a variável global, na verdade você pode facilmente adicionar uma variável global no linux que aponte para o seu script.
Então quando você quer rodar um script linux você digita o cmd (apontando para a variável global que contém o caminho), e então a mágica vai. Para windons você é a variável global, então você precisa definir o caminho para o exe a ser executado. Você pode criar sua própria variável global no Windows e usá-la como o Linux, se quiser, mas não goste de fazer isso.
Espero que você entenda um pouco melhor o princípio.