An application should always label each key element to make content or process completion clear. Titles are a key part of all OSes, applications and web standards.
Pages and elements or content sections within a page should almost always be labeled. Popups and other freestanding elements should have titles similar to the page-level title.
Titles should always be used in a consistent manner - size, font, location, content and type style.
Titles are always horizontal, and any top level title should be boxed, or otherwise separated out to make it clear that it is a key element.
Subsidiary titles are also text, but the text can be stylized as needed (bold, color, etc.) or additionally include boxes, rules, indents, or other graphical treatments to differentiate them from the remaining content, and to more clearly communicate their hierarchy.e
Avoid jargon, and exposing internal processes. Avoid excessively harsh error messages, and other things which may confuse the user or annoy the user. Do not repeat content.