A poorly designed back end for their private pool can also be a reason. This shit goes way beyond my understanding of mining and pool ops, but Kano Pool has the ability to never mine an empty block, assuming there are transactions available. He often points to the failure or lack of concern when larger pools mine empty blocks when there are loads of transactions available to benefit miners.
slush generates empty blocks.
EMPTY blocks are not necessary and are a sign that the pool is slow and coded badly.
slush block 645736 EMPTY