11.10 and above
Creating a theme for 11.10 and above (GTK+3) is fortunately very similar to 11.04 and previous versions of Ubuntu that used GTK+2. This answer is based on the already excellent answer from Rinzwind.
Its easier to amend an existing theme rather than to tackle a theme from scratch. In addition - its easier to edit a theme in your own local home folder - this avoids permissions issues etc.
Lets create a new theme that called foss based upon the Ambiance theme. Obviously - if you have any other GTK+3 themes installed, use those (see linked Q&A for where to get themes)
Install themes are stored in /usr/share/themes/
- local themes are stored in your home folder under the folder-name .themes
- Open terminal
- Create a local foss theme folder
mkdir -p ~/.themes/foss
cp -R /usr/share/themes/Ambiance/* ~/.themes/foss
Inside the new folder is a file named index.theme
that needs to be changed to the new theme name.
gedit ~/.themes/foss/index.theme
change all the old theme names to the new one.

And now we have a new name called foss:
Editing the new theme
Inside our new directory are two key folders - Unity and gtk-3.0:

With an image editor such as Pinta or Gimp you can change the colours or do various things on the images within those folders.

Make sure to keep the same size of the image and of course use sane colors (stick to one color and 1 or 2 shades of this color to make a theme).
Open all the images inside Pinta/Gimp and start editing them and when you are satisfied copy them over with to your theme's directory.
However - the main part of theme editing is changing the various .css files in those folders (and the subfolder Apps).

Cascading-Style-Sheets is a well-defined stylesheet language that changes the look and feel of associated objects - in our case a theme - but equally applies to HTML web pages and documents.
It isn't for the uninitiated to edit these - fortunately there are some very good tools to allow you to edit & preview CSS changes - see the linked Q&A below.
Once you are happy with your theme - set your theme via Ubuntu-Tweak

Unfortunately you cannot change themes via the standard Appearance screen - the themes there are hard-coded in 11.10 & 12.04.
Linked Questions: