Ja, das stimmt so.
Nein, es stimmt nicht, dass das für Browser gedacht ist. Eigentlich dient es (in HTML-basierten Webseiten) dazu dem HTML-Validator in dem HTML-Dokument enthaltenes JavaScript vorzuenthalten. Würde man bei manchen JavaScript-Schreibweisen auf CDATA verzichten, würde der Validator auch Zeichen im JavaScript-Code anmeckern. Meist ist das ein > oder < in einer if-Bedingung.
CDATA wird allerdings auch an anderen Stellen verwendet, nämlich in XML-Dokumenten um dadurch nicht-XML-validen Code zu "verstecken". Wenn man bspw. ein per DTD vorgegebenes XML-Format hat und darin in einem Element einen HTML-Code schreiben möchte, dann entspräche der HTML-Code nicht dem per DTD vorgegebenen XML-Format. Deshalb maskiert man den HTML-Code dort ebenfalls mit dem CDATA-Block.
In jedem Fall würde ich jedoch empfehlen JavaScript-Code nicht im HTML-Dokument selbst zu hinterlegen sondern in einer externen JS-Datei.