Beamer Theme Matrix can help you to understand how it works. It shows how different color themes change every main theme. If the whole theme (inner, outer, font, color) was defined inside a unique file, you should modify this file. Being everything divided in independent fragments, just selecting a combination of them provides a new aspect for your presentation.
Section 15.1 Five Flavour Themes in beameruserguide clearly explain differences between them. It's easy to imagin what color and font themes do. inner themes define how elements inside a slide (items, enumerate, blocks, ...) look
while outer themes define headlines, footlines, sidebar, ...
In fact, all main themes are defined as a combination of inner, outer, font and color themes. Just two examples, AnnArbor theme is defined with
\useinnertheme[shadow=true]{rounded}
\useoutertheme{infolines}
\usecolortheme{wolverine}
\setbeamerfont{block title}{size={}}
\setbeamercolor{titlelike}{parent=structure,bg=yellow!85!orange}
while Copenhagen is
\useoutertheme{split}
\useinnertheme{rounded}
\usecolortheme{whale}
\usecolortheme{orchid}
\setbeamerfont{block title}{size={}}
Although beamer works this way, you don't have to follow it. If you want a constant theme, with very few options, everything can be defined inside a main theme file. If your theme is called "mytheme", define everything inside a file called beamerthememytheme.sty file and store it into your working folder while you are testing it. As soon as your theme is ready, move it to your local tree.