Como a Internet é onipresente, podemos, como desenvolvedores, supor que todos os usuários tenham acesso à Internet? Agora, não quero dizer que o código seja escrito de tal maneira que, se não houver conexão, o programa inteiro trava devido à falta de código de erro. O que quero dizer é que os programas atuais podem ser desenvolvidos sob a premissa de que seus usuários sempre terão acesso à Internet?
Você pode perguntar "O que ganhamos ao assumir isso?" A razão pela qual estou perguntando é que, na uni, usamos muitos programas que exigem acesso à Internet devido à maneira como verifica as licenças (verifica o seu endereço IP - se não for um endereço no campus, então você está não é permitido usá-lo). Observe que o próprio programa deve funcionar bem sem acesso à Internet; é apenas necessário para a verificação da licença.
Edição: Eu estou falando sobre aplicativos de desktop aqui.
EDIT2: De algumas das respostas, tenho a sensação de ser acusado de explorar os usuários de maneiras antiéticas. Estou não endossando o que eu descrevi nesta questão - Eu estou apenas perguntando sobre isso porque os desenvolvedores de alguns dos programas que usamos em uni ter feito isso. Pessoalmente, acho que fazer isso é estúpido e errado.