There are many considerations to think about before you start building any website, you need to think about what the theme or look of your website will be, which content management system you will use to build the website content, and also who your target viewers will be.
To build your website you need a web hosting plan and domain name, the web hosting service allows you to store your website files in a database on the hosting site, where website information can be sent out over the internet when someone needs to view your site, your domain name is your identity on the internet and each one is unique, you can get a free domain name with a Bluehost shared hosting plan.
Most websites these days are built around a template design, you down load Joomla or any other open source content management system of your choice, then you install the template from the back end of the website as administrator, templates are usually purchased from the template designer.
The template along with the content management system forms the backbone of your new website, the front end of your site is the home page that viewers see when they search for a topic on the internet, the backend is the administration where you add content text and images etc.
To aid in content management of your website, you can use extensions or components, plugins and modules, the extension or component forms the major portion of your page because a component is driven by a menu item and every menu item runs a component the menu is what you click on to view a page on your website
A plugin controls the extension or component that is installed on your website, and while you can edit a component from the back end to add menu items etc, a plugin works in the back ground and is not usually editable.
Modules are lightweight and flexible extensions that are used for page rendering, modules are arranged around a component, for example, the login module on your website, modules can be edited by the administrator to display images, text and also display information from components on your website.
A website that is run by a content management system can be configured to look the way you want your website to look, you can change the appearance easy just by installing a different website template, and assigning your module to other positions within the template you can create endless variations.