There are three fields of application for Lintian:
one person could use Lintian to check the whole Debian archive and reports bugs,
each maintainer runs Lintian over her packages before uploading them,
dinstall checks packages which are uploaded to master before they are installed in the archive.
The authors of Lintian decided to use a very modular design to achieve the following goals:
flexibility: Lintian can be used to check single packages or the whole archive and to report and keep track of bug reports, etc.
completeness: Lintian will eventually include checks for (nearly) everything that can be checked mechanically.
uptodateness: Lintian will be updated whenever policy is changed.
performance: Lintian should make it possible to check single packages within seconds or check the full archive within a few hours.