tererilla,
En el caso del primer ejemplo, puede ser una clase que no necesita parametros para su construccion, por el contrario en el segundo ejemplo si se utilizan parametros. Estos parametros son los que le llegan function __construct() o a function nombre_clase().
Compact: Esta bastante bien explicado en el manual, pero basicamente lo que hace es crear un arreglo de tipo llave => valor usando los strings que le pasas como parametro.
Código PHP:
$param1 = "Hola";
$param2 = "¿Como estas?";
$arreglo = compact('param1', 'param2');
Resultado
Array
(
[param1] => "Hola"
[param2] => "¿Como va?"
)