I am an experienced programmer in various languages, and also have experience with web development. I am new to Drupal, and as with any new platform there is sometimes a language barrier. I've read drupals small documentation on theming on their site, but I just want to make sure I'm wrapping my head around this correctly.
The way I understand it, a theme in Drupal is a site's skeleton, the basic HTML and CSS. If that's true then I at least have that part right. Where I'm losing it is where does the theme stop, and web design/content development start? For example, what exactly should I expect when I download a Drupal theme/template, should I be editing the theme directly to add my images and text, or is there specially created modules for that I'm just not seeing? Is it common practice to sub theme or just edit the theme directly?