Putting it all together
A basic website is really just a bunch of files with images and text. Typically you pay a web designer to create these files, and once created, the designer’s job is done. Until you want some changes, anyway.
To make those files available to people on the Internet, you pay a web hosting company for the use of some space on one of their web servers. You copy your website files to this space. Web hosting companies typically charge by the month, but some will give discounts if you pay a year in advance.
Finally you designate a name (e.g. www) plus your domain name to point to the web hosting company’s web server. The website name is normally free, but to maintain your registration of the domain name, you will need to periodically pay a renewal fee. Some domains need to be renewed once a year, others once every two years.
Now that you have mixed the three essential ingredients, you have a functioning website. Congratulations!
Some Other Considerations
The type of website described above is what is known as a "static" site. You cannot login to a static site, or shop on it, or directly update it yourself.
Some people, especially businesses, want a "dynamic" site. They want to be able to accept orders via the site, or login to change the content themselves, or have the site interact with visitors.
To achieve this, you still need the same three ingredients: domain name, web hosting and content.
However you need a slightly more sophisticated form of web hosting, which is usually a little more expensive. The web hosting needs to include extra software that supports the dynamic nature of the website, plus extra security to prevent unwanted people from altering the website. There are many different options for this extra software. Some popular examples are Drupal, WordPress, PHP, Java.
The text and images are no longer plain files that can be used on any web server, but instead are completely dependent on the software you chose. This means it may not be easy to move the website from one host to another. For example, a website created for WordPress cannot easily be moved to a Drupal system. If you want to move, expect to pay around the same as if designing a new site from scratch. For most sites, the amount of work involved is about the same.
The same may apply if moving from one version to another of the same software. For example, if moving from Drupal 6 to Drupal 7, it may actually be less work, and hence cheaper, to take the opportunity to design a new site rather than attempting to "copy" everything over. As an added bonus, you end up with a more modern and refreshed website.
I hope this has helped you understand what the main ingredients in a website actually are, and how they fit together.