HTML is often employed when the usage of pre-defined tags seems favorable and the major purpose is displaying of the data and just browsing; whereas XML is usually used when a more complex web application is needed and the developer plans to define her own tags and the main purpose is the transportation of data rather than the display of it.
Semantic tags are those which are easily understood by both human and machine and convey the exact purpose of their usage precisely.