Resumindo: são apenas chaves diferentes. Mais precisamente, as teclas numéricas têm diferentes scancodes, mesmo que normalmente produzam o mesmo texto quando digitado.
Nos programas, eles terão o mesmo efeito se o programa verificar o texto digitado. (Nesse caso, o programa depende do sistema operacional para converter scancodes de teclado em caracteres Unicode de acordo com o layout de teclado atual.) Se o programa ler os scancodes diretamente, o comportamento poderá ser diferente.
Em particular, para os códigos de teclas Alt + xxx, o Windows é programado para gerar caracteres especiais somente quando os dígitos são digitados usando as teclas numéricas.
(Obviamente, isso assume que o NumLock está no estado correto.)