Joomla è un CMS (content management system).
In pratica ti permette di mettere su un sito senza sapere nulla di html, php, mysql, javascript e quant'altro serve per realizzarne uno.
Una volta installato hai un sito base, poi puoi aggiungere le funzionalità che ti servono scaricando le varie espansioni, ce ne sono praticamente per ogni cosa.
Per quanto riguarda la grafica trovi in giro una marea di template gratuiti pronti da scaricare.
Ovviamente puoi creartene anche uno personalizzato, ma devi sapere come si fa.
Se sai già creare la parte grafica di un sito (html e css) sai quasi tutto quello che ti serve.