Having been a SharePoint developer for some time now, I am used to creating Site Definitions, Web Parts, List Definitions etc without the need for a Visual Studio Wizard. I know obviously beginners to SharePoint will find this VSsWSS easier to use than doing everything manually, but I do feel that VSeWSS has a few issues that we could do without. One of the tasks that VSeWSS intended to make easier was the creation of a Site Definition.
You have two options for creating a re-usable Site Template in WSS! Create a Site Template (as in STP) or create a Site Definition (as in ONET.xml). I usually head straight for Site Definitions unless the change I'm making is very subtle such as adding a new list into my site. The reason why I use Site Definitions is because I can do things in the ONET.xml file, that I can't do in the UI of SharePoint. E.g. I can specify an Alternate Style Sheet, an Alternate JS file, and change the Layout Zones. Ok, yes you can do this if you use SharePoint Designer, but then your site will be Customized (Unghosted). If you attempt to Reset to the Site Definition before saving it as a template, you will lose all your settings. The CSS file you specified will be lost, and so will your Web Part Zones.
So, my question is this! VSeWSS allows you to generate a Site Definition from a site that you have customized using the UI of SharePoint! But why use it if I could do the same using a Site Template? Ok, you will get a WSP generated if you use VSeWSS for easy deployment. But STP's are also portable if you save them out to the file system, you can deploy them easily using STSADM.exe –o AddTemplate.
So, lets take a look at how we can create a Site Definition with and without VSeWSS.
Without VSeWSS
1. Navigate to the SiteTemplates folder in the 12 Hive: (c:\program file\common files\microsoft shared\web server extensions\12\TEMPLATE\SiteTemplate)
2. Copy and Paste the STS folder naming it customsts

3. We won't make any changes yet, we will just get the plumbing working! Navigate to 12\TEMPLATE\1033\XML. Replace 1033 for your LCID.
4. Take a copy of WebTemp.xml and call it WebTempCustom.xml (The file must be prefixed with WebTemp).
5. Strip the WebTempCustom.xml file out so that it only includes the Templates element for the STS template.

6. Rename the Template to reflect the name of your folder you created i.e. CustomSTS. Change the ID to something about 9999, and change the Title of each template to Custom Team Site, Custom Blank Site, and Custom Document Workspace.

7. Save your file, Run IISRESET, and try it out. You should notice that in SharePoint you get Custom Team Site, Custom Blank Site, and Custom Documents Workspace in your Collaboration Tab on the Create Site or Workspace page in SharePoint. Note that you could also change the tab that these sites appear under using an attribute of the configuration element for each template.
8. Change the ONET.xml to include a Contacts List in a Team Site like it did in SharePoint 2003.
9. Open the ONET.xml file from your CustomSTS\XML folder in Visual Studio.
10. Navigate to line 90 which should be the Task list for Team Sites (hence it is in configuration 0).
11. Copy Line 90 and paste it on the line below.
12. Change the word tasks for contacts everywhere on that line you pasted, and change the Feature ID to the one shown in the image. It can be copied and pasted from the Feature.xml file for the Contacts List.

13. Save your changes. Run IISRESET Again, and then test your changes by creating a new site from the Custom Team Site template.
With VSeWSS
1. Download and Install VSeWSS from http://www.microsoft.com/downloads/details.aspx?familyid=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&displaylang=en
2. Create a new Team Site in WSS.
3. Create a New Contacts List in the new Team Site you created.
4. Start the Microsoft Solution Generator by choosing Start, All Programs, Solution Generator.
5. Select Site Definition from the Wizard

6. Type the URL of the Site you are basing your Site Definition on and choose Next.
7. Give your Project a Name such as VSeWSS TEST
8. Choose Next, and then Finish.
9. Open the Project by navigating to My Documents, SharePoint Definitions, VSEWSS TEST, and double click the csproj file.
10. Take a look at the ONET.xml file in Visual Studio that VSEWSS generated! What an earth is that lot????

12. Click the Build icon in Visual Studio. You should find that the Solution then gets deployed and you can test it.
In summary, I don't like all the rubbish that gets placed in the ONET.xml file, plus I thing the steps with VSEWSS are more long winded to achieve the same results!