I am looking for a succinct howto on the basics.
The ubuntu packaging guide is a good introduction. The rest you can learn by studying existing packages, and reading manuals (CDBS, and of course Debian Policy). However, as directhex said, it depends a lot on the kind of package you work on.
Once you grasp the basics, you should try and read the packaging guidelines for Fedora or OpenSUSE (which are much alike), so you can see how packaging is actually done in real life.
I know that Ubuntu had a packagers class on IRC a while back, but I don't know about its current status. Debian (and Ubuntu) packaging tutorials are abundant out there. For Debian, too, read their packaging guidelines to see how it is actually done.
It is often best to learn how to package the specific type of thing you're packaging. A Mono app is very different to a Python app, and you're best if you can learn information relevant to you, first and foremost.
On FreeBSD, for an installed port:
cd /usr/ports/category/myport make package
The first one makes a package from the port while the second also includes all dependencies. Alternatively, you can gain more control by using
make package it also requires the port to be installed:
pkg_create -Rb mysoftware myswpkgname
Unfortunately there is no clean and easy way to make a package without first installing it unless you delve into the nitty-gritty of ports maintenance and package creation which you can read about here. This will be necessary if you want to package something you've written yourself.
There are, however, a few alternatives to make life easier if you need to make software packages that aren't installed on your system. The first is to use a build jail. Alternatively (or concurrently), you can also just remove the software you install:
from the port directory, or
pkg_delete -r mypackage
You should look for guides for the specific system you're packaging for. They are different and require different approaches in some cases. If there's anything in common, you'll pick it up by learning one system reasonably well. Others will be slightly easier to learn once you figure out the ways they were designed to work.
An idea worth remembering in any system, though: pristine sources and unattended builds.