Debian distributions are based on over 4400 packages. Your task is to select those you wish to install! This is made easier with task packages which are virtual packages that depend on a collection of other packages. Selecting one of these task packages results in that collection of other packages being installed. An example is the task-tex package that will install the TEX and LATEX packages and related utilities.
Task packages are presented to the user on an initial install. As the name indicates a task package is intended to deliniate a specific task you might use a computer for, like a web server, an X workstation, or perhaps an X workstation using Gnome or KDE.
Individual packages are installed and updated using the basic GUI offered by dselect from the dpkg package, or the comman line dpkg command, or apt-get from the apt package (for automatic download and install, including installation of other required packages).
Using dselect is at first confusing but allows you to easily update and install new packages with an ease that leaves you confident that all difficulties have been carefully hidden through extensive dependency and consistency checking. If network connection is interrupted, the downloads will be resumed from where they got to. The dselect learning curve will pay dividends. My installation has always been left in a consistent and stable state after installing packages from the Debian archives on the Internet.
As you gain confidence and know what you are after, move on to apt-get if you prefer a command-line interface. This takes care of dependency checking automatically (unlike dpkg) and will retrieve the required packages from the Debian archives.
Each individual package can Suggest, Recommend, and Depend on other packages. A subtle difference between dselect and apt-get is that the latter ignores Suggest and Recommend dependencies whereas dselect will offer Suggested packages for the user's attention and will select Recommended packages automatically.