A theme is technically made up of minimally two files, a style sheet (CSS) and a '.info' file.
The CSS will be loaded if a site owner chooses your theme in the control panel's Theme Picker. A custom theme's CSS is loaded last, after the base theme CSS and most modules' CSS has been loaded. Any images should be in an 'images' folder next to your CSS. You can also write custom print CSS, mobile CSS, and of course conditional CSS for Internet Explorer which, as we all know, doesn't often work well without special babying.
The .info file (example: 'mytheme.info') also lives next to the CSS. It is a proprietary Drupal file which instructs the system where to find your theme's name, CSS file(s), whether there are theme 'flavor' variants, and whether you prefer to have certain widgets custom enabled.
Note: .info files are simply text files, and should be opened and edited using any text editor. However unless you're a Drupal developer you likely will not have run into them previously. Therefore double-clicking without first instructing your computer to open .info files from within a text editor may prove to be confusing to some.