Difference between a Site Definition and a Site Template

Site Definitions are stored in hard drive in SharePoint front end servers. These help to generate the sites. Site Templates are created by users as a copy of a site they have configured and modified so that they do not have to recreate lists, libraries, views and columns every time they need a new instance of a site.