XSLT is used to transform XML documents into other XML documents or HTML. It uses XPath to navigate XML documents. Templates are used to define transformation rules that are applied when nodes are matched. Common elements used in XSLT include value-of to extract node values, for-each for loops, apply-templates to apply templates to child nodes, and copy to duplicate nodes in the output. Conditional logic can be added using elements like if, choose, when and otherwise.