A Debian package is a file that ends in .deb and contains software for your Debian system.
A .deb is also known as a binary package. This means that the program inside the package is ready to run on your system.
There are also source packages.
A Debian package is smart enough to know how to add itself to your system, remove itself, and even configure itself to your needs.
Every package comes with its own documentation, that can usually be found in the /usr/share/doc/<package_name> directory.
What's in a name? Every package has a name, and there are certain rules for what can and can't be in it. See also PackageInstallTips.
The MIME type is
For a keyword search in the package descriptions, use apt-cache.
If you look specifically for alternatives to some Windows programs see WindowsEquivalent.
If you wonder where a package you've got installed on your system has gone, when it becomes "obsolete" and unavailable, see https://ftp-master.debian.org/removals.txt to find out about removed packages.
If you think your package is just plain broken please submit a Debian bug (see reportbug)!
How to extract the content of a package
Do not attempt to use just dpkg-deb or the other commands in this page to install software! You must use dpkg proper to ensure that all the files are correctly placed and the package's scripts run and its status and contents recorded.
dpkg-deb -x file.deb dir
Binary package compile-time options
A software package can usually be configured at compile-time to enable or disable certain options. When you install packages on your computer, you may need to know which options were enabled by the package maintainer.
Some programs have a command-line switch which will show which compile-time options are available. The manual pages will usually document this switch if it is available, so this is the first place to check.
If this isn't available, check the package's DebianChangelog. Many maintainers add log entries if they change the compile-time options.
Failing this, you can download the SourcePackage with apt source package-name, enter the source package directory, and look at the file named "rules" in the "debian" folder. This file contains the commands used by the Debian maintainer to generate the package, and will include the commands used to configure the package for compilation. The most straightforward approach is to search for configure or conf.
www.debian.org/doc/debian-policy/ - Debian Policy Manual's Virtual packages
Sometimes, there are several packages which offer more-or-less the same functionality. In this case, it's useful to define a virtual package whose name describes that common functionality...