Google will tend to prefer page contents over meta descriptions more often in case of the description duplicates on many pages, however, there doesn't necessarily have to be a correlation of course.
startIfEmpty() was introduced with CakePHP 2.3, in earlier versions, it would be necessary to test for an existing block manually, something like for example:
$description = $this->fetch('description');
if(empty($description)) {
echo $this->Html->meta('description', 'Default description');
}
echo $description;
Specific page template
$this->assign('description', $this->Html->meta('description', 'Specific description'));