1. The Web Part Assembly file (.dll): which is nothing but a .dll file which contains the entire logic that you, as a developer writes for that web part. It could be a web part that contains a DataGrid and displays the number of users signed in or a simple DropDownList that populates another DropDownList within the Web Part.
2. The Web Part Description file (.dwp): This contains the default settings stored in XML format for the Web Part which can be utilized to customize and change Web Part properties. This is not mandatory though it is required while importing from a site or exporting to another site. Note that if your company has around 10,000 employees where each employee may also turn out to be your company's SharePoint site's user, then they can access say, with one particular SPS Site that has a Web Part, options to customize that particular Web Part for each of his / her sessions. That is where the WSS database tables come into play - storing various configuration and customization information. There's more but let's start off with this small step.