No es que
:nth-of-type sea mejor que
:nth-child, es que son dos cosas diferentes. Al segundo puedes por ejemplo afectar a clases, al primero no.
Lo de los símbolos extraños en el selector de atributos es para encontrar cadenas que, por orden, empiecen por, terminen por, o contengan.
Las demás preguntas igual deberías de preguntarlas en
el foro de jQuery.