Sobre tipagem, além do link que o @maniero indicou, tem também esse.
Além das definições, que os links explicam e são importantes (e muita gente confunde), também acho válido ressaltar a conclusão:
Ou seja, pra variar, não existe essa de que uma das opções é sempre melhor. Saiba as vantagens e desvantagens de cada uma, e avalie qual usar em cada situação (claro que pra saber quando usar, também precisa de experiência, mas de qualquer forma, agora vc tem mais informações para decidir melhor).
Falando por mim, acho que a tipagem estática ajuda em bases de código grandes (sendo que "grande" é subjetivo). Muita gente tem percebido o mesmo, o que ajuda a explicar a crescente popularidade e adoção do TypeScript, por exemplo. Além disso, a declaração de tipos explícitos têm sido adicionada em linguagens como PHP e Python.