11.10 & above
Unity-3D and Unity-2D are visually very similar.
Unity 3D
Unity 2D 
However, the underlying technology used to configure are very different.
Unity 3D uses a compiz plugin and you can use ccsm
to configure.
Unity-2D configuration options are unfortunately not as advanced and involves tweaking a limited number of options in tools such as dconf
& gconf-editor
as well as changing the actual code base itself.
Note - you can use alternate compositing options - thus configuration options will change:
Changing Themes
Using the stock Appearance screen you can change the theme to the hard-coded themes.

If you want to use other GTK+ 3 (metacity) themes via a GUI you will need to use either MyUnity or gnome-tweak-tool
.
How do I change to a theme not listed in the Appearance screen?
Alternatively - install the metacity theme and change the theme name using gconf-editor
as described below.
changing fonts
By using MyUnity (installation instructions in the above theme link*) you can change fonts using:

desktop icons
By using MyUnity you can use the options shown in the image to add desktop icons

Form Factor
precise only
Unity-2D is used for computers that do not have 3D acceleration capabilities and/or have limited CPU/screen size etc.
You can configure Unity-2D to use by default desktop type settings or netbook type settings through dconf-editor
/com/canonical/unity-2d/form-factor
: by default this value is desktop - by changing this to any value other than this (e.g. netbook), Unity-2D will default to non-desktop type values. An immediate visual indication of this is the Dash - any value other than desktop will open the dash full-screen.
Launcher configuration
precise
In 12.04 - the launcher is not hidden by default. You can set the autohide capability through the stock appearance screen.

From this tab you can configure where the launcher-hot spot is and thus how to invoke the launcher via the mouse.
For 11.10 and above, dconf
can be used to modify the hiding action of the launcher.
dcom write /com/canonical/unity-2d/launcher/hide-mode [foo]
where [foo] is the following values
0
: never hide, launcher always visible. dcom write /com/canonical/unity-2d/launcher/use-strut true
must be used with this value
1
: auto hide; the launcher will disappear after a short time if the user is not interacting with it
2
: intellihide; the launcher will disappear if a window is placed on top of it and if the user is not interacting with it
Launcher Icon size
The launcher icon size can be changed by changing the launcher code.
Dash
precise
The Dash can be now be easily maximised using the standard maximise/minimise window buttons.
The Dash opening configuration can be configured through a dconf-editor
value:
- /com/canonical/unity-2d/dash/fullscreen
: ticking this value will open the dash fullscreen (default value is false)
oneiric
By default the Dash opens half-screen. By changing the code-base you can configure the Dash to always open full-screen.
gconf-editor
Unity-2D uses metacity for its compositing manager - thus the options available to configure metacity through gconf-editor
can be used to configure Unity-2D
Below is a summary of the values used to configure Unity-2D specifically. Other metacity options are also available to be changed through gconf-editor
/apps/metacity/general/auto_maximize_windows
: Determines if windows should be automatically maximized when shown if they already cover most of the screen (default true)
/apps/metacity/general/num_workspaces
: Number of workspaces. Must be more than zero, and has a fixed maximum to prevent making the desktop unusable by accidentally asking for too many workspaces.
/apps/metacity/general/theme
: The theme determines the appearance of window borders, titlebar, and so forth (Default value Ambiance
)
/apps/metacity/general/titlebar_font
: A font description string describing a font for window titlebars (Default value Ubuntu Bold 11
/apps/metacity/global_keybindings/
: various keyboard shortcuts can be defined. Pressing ALT+F2 and searching for keyboard
and you can change most of these shortcuts via this GUI.
/apps/metacity/keybinding_commands/
: various keyboard shortcuts can invoke applications such as gnome-screenshot
/apps/metacity/window_keybindings/
: various keyboard shortcuts to control and manipulate windows and their movement. For example, moving windows from one workspace to another.