Os operadores ROLLUP, CUBE e GROUPING SETS são extensões da cláusula GROUP BY. Os operadores ROLLUP, CUBE ou GROUPING SETS podem gerar o mesmo conjunto de resultados como ao usar UNION ALL para combinar agrupamentos de consultas individuais; entretanto, o uso de um operador GROUP BY normalmente é mais eficiente.
O operador GROUPING SETS pode gerar o mesmo conjunto de resultados gerado por uma operação simples de GROUP BY, ROLLUP ou CUBE. Quando todos os agrupamentos gerados pelo uso de operadores ROLLUP ou CUBE não são necessários, você pode usar GROUPING SETS para especificar somente os agrupamentos que quiser usar. A lista de GROUPING SETS pode conter agrupamentos duplicados e, ao usar GROUPING SETS com ROLLUP e CUBE, pode gerar agrupamentos duplicados. Agrupamentos duplicados são retidos como seriam se UNION ALL fosse usado.
FONTE: http://msdn.microsoft.com/pt-br/library/bb522495.aspx