A SharePoint site definition consists of CAML elements that describe the different parts of the site and how they relate to each other. The topmost element is the 'template' element which is declared in the special file called WEBTEMP, which contains further template configuration elements. Each of the template configuration elements defined in WEBTEMP file references associated site definition configuration elements in the ONET.xml file.
When talking about site definitions it is important to understand the difference between Site templates and Site definitions. When users create a new SharePoint site or site collection through user interface, they are actually using one of the available site templates as defined in the WEBTEMP.[name].xml file, where [name] is the visible template name. The site definiton configuration elements are defined in the configuration elements in the ONET.xml.