From Joomla! Documentation
As part of the evaluation process, you may want to understand in more depth exactly what Joomla! does and how you create a web site in Joomla! There are two aspects to evaluating Joomla!'s functionality. The first is to understand the core functionality that ships with Joomla!. The second is to understand how extensions will be used in your site.
Joomla! Core Functionality
When evaluating Joomla!, it is useful to understand its core functionality. If you are new to web development and CMS software, the Absolute Beginner's Guide to Joomla! is a good place to start. You may also need some help with unfamiliar terminology
If you are more experienced, then you might prefer to try out Joomla! using the Joomla! Demo site. Or you can download and install Joomla! on a local computer, along with the Joomla! sample website. Instructions for this are contained in the Quickstart Guide. (Note that, to install the sample data, just press the "Install Sample Data" button during step 6 of the installation wizard.)
In either case, you can try out the "back end" administrator functions of Joomla! and see how you create menus, pages, articles, and other components of your web site. Everything you see in the sample web site is created with the core functionality of Joomla!.
As discussed earlier, over 9,300 extensions are currently available for Joomla!, with more being added daily. Although sites can be built using only the Joomla! core software, it is likely that you will want to use extensions. Most Joomla! web sites of any size or complexity include a number of extensions, and the identification of the major extensions that you will use to provide important functionality should be part of your evaluation.
Other Joomla! Customisation
Extensions provide pre-packaged solutions that require no programming to use. Another way to extend Joomla! is to customise it. Joomla! is designed to be extended and customised in several different ways.
The appearance of the web site—the colours, graphics, typeface, and so on—are controlled by the site's "template". Joomla! comes with three built-in templates, and there are many templates available as pre-built extensions. If you are familiar with HTML and CSS, it is not difficult to build your own customised template. You can look at Creating a basic Joomla! template Tutorial to get an idea of how templates work.
Since Joomla! is open source, any part of the program can be customised as needed. In addition, Joomla! includes a feature called "Template Overrides" which allow you to create one or more small customised programs that override parts of the standard Joomla! program. These programs work with the Joomla! core programs, and using them does not require modifying any core files. Template overrides allow you to easily customise almost any part of the way in which Joomla! renders a page.