Usa-se o placeholder quando quer colocar uma informação descrevendo o campo ou orientando o usuário de como preencher o formulário. Essa informações fica visível no início da visualização sendo substituída por nada quando o usuário clica no campo e depois pela informação que ele digitar.
Essa informação não será submetida no envio do formulário.
Nesse caso para usar uma informação padrão usa o value. A informação aqui é equivalente a que for digitada e será submetida no envio do formulário.
Quando se quer recuperar a informação no campo se pega o valor vindo do banco de dados ou outro local como XML ou JSON e coloca em uma variável ou array. Essa variável é informada no value normalmente, mas pode ser usada no placeholder também, seguindo o que foi falado acima, uma para registro e outra para demonstração respectivamente.
O onChange no java script serve para manipular o DOM e pegar a última posição de um select.
Em formulários reativos usando o angular se usa o valueChanged que pega o último valor em um select.