What is the main differences between site definition and site template?
sharepoint
Solution
A site definition is the basic blueprint for a site, including how it looks, what lists it contains, default navigational structures, and so on. You normally create a site definition by hand-editing CAML.
A site template can be created from within the Sharepoint application, and is basically a "diff" between the site definition and any changes made since the site was created. A site template is based on the underlying site definition, which means that if you create a new site from a template, and later change the underlying site definition, you run the very real risk of irreversibly screwing up your site.
A best practice is to configure a minimal site definition that, once created, is never modified again, and use site templates to store reusable customizations.
Problem
What is the main differences between site definition and site template?