Realmente es para crear los nuevos elementos de HTML5 y luego darle el estilo que tienen por defecto (bloques). Pero sólo es una cuestión estética más que funcional, ya que un navegador que no soporta HTML5, lo seguirá sin soportar aunque le pongas eso. Por ejemplo, la validación de formularios, por decir algo.
Entre HTML5shiv/shim no hay diferencia, sólo el nombre. Se llamaba shiv y algunos dicen
shim.
Y Modernizr es una librería para detectar funcionalidades del navegador.