So you've heard that you should use Drupal for your church website, but you're not really sure to begin. You look at the Drupal website, and you see all kinds of download choices, with modules and themes, and you're trying to wrap your head around all of these concepts, but it just isn't quite clicking for you. What you need is a simple analogy for how all of these pieces work together.
A Drupal website has two sides. Unlike older websites where you put your individual pages on the site, Drupal is a software program that tells the web server how to make pages when users request them. The contents for all of these pages are stored in a database.
By adding and removing software pieces, we can change the capabilities of the site. If we look at these parts as parts of a house, it gets a lot easier to understand where each piece fits. Since we're talking about church sites, I tried to make this analogy work with a church building, but parts of it got a little too contrived, so let's stick with a house.
Think of your web server as a piece of land, leased or owned, ready for development. If you want to create more than a cheap facade, you've got to build carefully from the ground up.
Drupal's design is very modular, and even Drupal core is modular in nature. Like a house, some core modules are required: a firm foundation, the sub-floor, wall panels, insulation and roof joists. You may or may not want a second floor or an attached garage, but those things are common enough to be offered as core components. You want these core components built carefully, using tried and trusted methods. Once they're in place, you don't think about them much. They shouldn't change unexpectedly. They may need occasional repairs, but you're not likely to whip out a sledgehammer and start altering things on a whim. When you do, you need to be sure that your changes don't have unintended results, like weakening a load-bearing wall. This is why we don't hack the Drupal core. Changes may break the site, or make repairs (in the form of security updates) impossible. Unless you're a skilled builder, you're probably going to leave those jobs to experts.
Other items affect the way a house works, like the kitchen sink, the toilet, or a garage door opener. These are Drupal's contributed modules. Looks matter here, but let's focus on functionality for now. Do you want a regular tub or a jacuzzi? Which items work better together? You don't generally run central air and an attic fan at the same time. Once these items are installed, they become part of the house, and you interact with them without much thought on a daily basis. They may need to be repaired, replaced or updated over time. Whether you do it yourself or hire it out depends on the job and your skill level. Some items you own may get new features, but that doesn't mean you have to buy the new version every single time. However, if your front door lock is recalled, you should probably go get a new one. Decisions about keeping Drupal modules updated are similar in nature. If it isn't broken, you might not need to fix it.
Now it's time to paint the walls and install carpet. When you buy a house, it comes with a default set of these items, but as you update them over time, they start to reflect your own changing tastes and styles. Some people are never content, always repainting their walls and updating their window dressings. Other people keep their unsightly stained carpet for years past its time. These changes equate to Drupal theming. A theme changes the way your site looks, and may have some effect on how users interact with it, but the theme doesn't really change any underlying functionality.
Once we've moved into our new house, we fill it with stuff! I'm including furniture here, because we can move it from house to house with us. How hard it is to move depends on how much stuff we have and how organized it is. Sometimes we get rid of our stuff, but a lot of it ends up stacked in a big mess in the spare bedroom. This is our site content. Drupal content items are called nodes. In a house, we have furniture nodes, clothing nodes, sporting equipment nodes. They have different sets of properties, but each is an item of our stuff. Some stuff might not actually belong to us (user contributed content) but it's been left here for safekeeping. It doesn't require an expert to drag stuff in and out of our doors, and some content makes a mess that needs to be cleaned up.
A house isn't a home until it has people. There are people (anonymous users) who might stop by, but never become close friends with the family. There are people who come calling regularly. (registered users) and we know their names and a little bit about them (through their user profile). There are people who live in our house and may have more permission to do as they please. Usually there's only one or two people who have full rights as head of household, and those are your Drupal site administrators.
This may not be a perfect analogy, but I hope it shows how some of the different aspects of a Drupal site are related.