There are several ways for Web Parts to show up in the Add Web Part
dialog:
1. A List was created in the site where the Web Part is being added
Scope: Site in which the list was created
2. A .DWP or .WEBPART file was imported (manually or using a Module
Feature) into the Web Part Gallery in the root site of the Site
Collection
Scope: All sites in the Site Collection where the Web Part was imported
3. A .DWP or .WEBPART file was copied to the file system wpcatalog of a
Web Application (manually or using a WSP CAB) on every Web Front End
(WFE) in the farm
Scope: All sites in all the Site Collections in the Web Application
where the Web Part was copied
It is also possible to import the .DWP or .WEBPART file from the file
system directly onto a page (not from a gallery). Of course, the related
assembly must already be deployed to all WFEs. Also, if a Web Part was
previously on a page and subsequently closed, you will find it in the
Closed Web Part gallery in the Advanced Tool Pane (same as the v2 Web
Part Gallery Tool Pane).
So, the Add Web Part dialog presents an aggregation of Web Parts for all
site Lists plus all the Web Parts in the Site Collection's Web Parts
Gallery, plus all the Web Parts in the wpcatalog for the Web
Application.