Por que você deve usar blocos CDATA XML?

Ao criar XML, estou me perguntando por que os blocos CDATA são usados, em vez de apenas escapar dos dados. Existe algo permitido em um bloco CDATA que não pode ser escapado e colocado em uma tag regular?

<node><![CDATA[ ...something... ]]></node>

ao invés de

<node>...something...</node>

Naturalmente, você precisaria escapar dos dados em ambos os casos:

function xmlspecialchars($text)
{
    return str_replace('&#039;', '&apos;', htmlspecialchars($text, ENT_QUOTES, 'utf-8'));
}

Deespecificação parece que o CDATA era apenas uma solução possível quando você não tem a opção de escapar dos dados - mas ainda confia neles. Por exemplo, um feed RSS do seu blog (que, por algum motivo ou outro, não pode escapar às entidades).

questionAnswers(2)

yourAnswerToTheQuestion