Menu In Joomla!, a Menu is a set of menu items used for website navigation. Each menu item defines an URL to a page on your site, and settings that control the contents(articles, category(ies) lists, taggged items, etc.) and style(module(s), layout) of that page. Additionally, each menu has a Menu Type, these are shown in the menu manager, see Adding a new menu. The menu type will actually be the Unique Name or alias that will be used to create human-readable URLs if Search Engine Friendly URLs are turned on. Menu items can have any number of subitems. A Menu isn't automatically shown on any page. You need to create a menu module to show the menu on all or some pages. Each menu can be shown by one or more modules (making it possible to show the same menu in different positions). It is also possible to create Split menus. A Menu that isn't shown by any module is usually called a hidden menu. Hidden menus can be used to create URLs that are not visible on any page. Reference: http://docs.joomla.org/Glossary
Extension An extension is a software package that extends your Joomla! installation in some way. A small selection of extensions is included with the default Joomla! installation but many more are available from the Joomla! Extensions Directory. The term extension is generic and the following specific extension types are available (listed alphabetically): Component (since ) – adds custom functions to your site that can be selected from menus Language (since ) – defines an additional language for your site Library (since ) – provides functions to be used by other extensions Module (since ) – shows nonessential data in a side box, possibly on multiple pages Package (since ) – bundles related extensions Plugin (since ) – modifies content in articles or provides functions to extend other extensions Template (since ) – define the look, feel, and navigation capabilities of your site For an overview of the most important extension types and the functionality they provide, see Extension types (general definitions) Reference: http://docs.joomla.org/Glossary
Model One of the three elements of the model-view-controller design pattern. The model encapsulates the data used by the component. The model is typically all about the “business” or “domain” logic and the database. The base API class we use for models is called JModel.