Although I am relatively new to using Linux, I would like to know more on how deploying packages works. I have tried searching for this but have had no luck. I have seen countless packages and install scripts that use the same looking 'graphical' command line install for the user to select options for the package. Take the Debian net install for example. 
As I have a lot to learn, I would only like a summary of how this is possible, and any resources that anyone has on how developers do this.
Thanks in advance.
OK, now, i believe, i understand what you're after. I'll still insist that interactive configuration of packages is distro specific and shall not be the main form of package configuration.
It is preferred to ship in a default working configuration and then document how the user can change configuration files (normally in
/etc) to reconfigure the package. It is often useful to ship several default configurations (example package:
wpa_supplicant which ships with several examples of network configuration, all disabled by default) and allow the user to choose by uncommenting lines.
debian specific way to get packages configured is
debconf, its configuration is a simple
shell script (or a
perl script, or whatever else that can talk over
STDIN/STDOUT) and a template file. The template file is what will provide options in the
aptitude/apt-get interface as in the screenshot in your question.
It is worth reading the debian guidelines on package configuration to have an idea of which kind of configuration is too much.
And they also have a thorough tutorial. Since you said you do not have experience packaging i also recommend reading the introduction to packaging, which will tell you where the files shall be placed. Also,
dbhelper is a great tool to place files in the correct place in the package directory.
Each distro has its own way of adding configuration to packages. Debian is notable for its
debconf as it is one of the most feature rich tools for configuring packages (together with
Developers of the software that is sipped in a distro package are often different people from the ones that do the packaging. Configuration options left by developers are often much more thorough than in the package (e.g. inclusion or exclusion of certain libraries).
The fact that you're most familiar with the
debian distro (that is an assumption based on your question tags), might give you a misleading idea of package configuration. Only debian based distros have so many configurable packages, other distros often use package dependencies to install differently configured packages. For example:
.rpmpackages) have no tool such as
debconf(as far as i am aware), they use distinct (conflicting) package names to install differently configured packages.
Funny enough, both RPM and Arch based distros often ship
po-debconf, an adapted
debconf for that distro. Yet, i cannot tell much about it since i never tried it.