CDATA has no meaning in HTML, but in XML it's used to handle characters such as angle brackets and ampersands. I use a CDATA block when I need to include JavaScript in my XSL Transforms.
Understanding what CDATA does will probably help you understand when to use it: "Some text, like JavaScript code, contains a lot of "<" or "&" characters. To avoid errors script code can be defined as CDATA." See also: What is CDATA in HTML?What is CDATA in HTML?