Basicamente todas las variantes de include y requiere son lo mismo.
El truco esta en que require si encuentra un fallo en el archivo invocado manda un error e interrumpe la ejecución, e include si encuentra un fallo en el archivo invocado solo genera un mensaje Warning.
La parte de las metavariables ( $_SERVER bla bla bla bla ) es que toma los datos del servidor para hacer la evaluación del requerimiento de la función. En el caso que pones evalua la ubicación del archivo considerando la raiz del directorio donde esta el DOCUMENTO en cuestión.
¿Cual es mejor? Depende de que quieras hacer.
Si necesitas que algo suceda si o si dependiendo del resultado de evaluar el contenido del archivo invocado, entonces tienes que usar require. Si no es impresindible que algo suceda dependiendo del resultado de evaluar el contenido de un archivo invocado, entonces puedes usar include.
De hecho, include puede ser el mas recomendable para manejar el incrustrar segmentos de codigo, por ejemplo HTML puesto que no nos preocupa lo que suceda al evaluar el archivo.
En cambio, si tenemos que segmentar el codigo, por ejemplo para simplificarlo, entonces sin duda conviene mas usar requiere, lo que a su vez nos ayudará a depurar el codigo si hay algun error.