Es muy sencillo.
A la función
pthread_create se le pasa un puntero porque dentro de esta se realizan cambios (inicializa variables de la estructura pthread_t) y si lo pasas de manera normal no se podría.
En el caso de pthread_join no es necesario pasar la dirección de memoria (puntero) porque esta función no necesita realizar cambios en la estructura.
Léete estos links que hablan un poco sobre estas funciones:
http://www.chuidiang.com/clinux/proc...cesoshilos.php http://www.chuidiang.com/clinux/proc...hilos.php#join
Saludos