Why does debian and ubuntu default to runlevel 2?
The Debian distribution (and hence Ubuntu, which is derived from it) does not define any differences between runlevels 2-5 as a matter of policy. It is up to the local system administrator to make use of runlevels as they see fit.
Since there is no difference between runlevels 2-5, a default runlevel 2 was chosen.