Smarty is what is called a PHP template engine. Basically you assign variables for use in your templates.The template files (.tpl) then contains the output interspersed with tags that Smarty replaces with the assigned content and displayed as your stores web pages.
Smarty separates your presentation elements (that is, your HTML, CSS, etc.) from your application code. However, it is perfectly fine to use it for tasks such as looping over table row colors or including one template from another which Smarty would still consider presentation logic. The main idea behind Smarty is to keep the template(website) designer role and application programming role separated. So as a designers, once you grasp Smarty, you should be able to modify the Prestashop templates and rebuild them without actually touching the code base while retaining full control of the presentation.
Smarty has some nice features that take advantage of this design principle. One prominant feature of Smarty is variable modifiers. These are used to alter the output of assigned variables from within the template. So if you want the product name to be capitalized out output ina different way, smarty makes this possible. The best way to think about it is that you have the control to alter the final output (what gets displayed) without having to be an experienced php programmer and delve into PHP where you are might break the logic.
There are many benefits as you why Prestashop has chosen Smarty. Two of the most important are;
Security: Templates do not contain PHP code. Therefore, a Prestshop template designer is not unleashed with the full power of PHP, only the subset of functionality made available to them from the prestashop programmers.
Easy to Use and Maintain: Web page designers are not having to deal with PHP code syntax, but instead working with an easy-to-use templating syntax not so much different than plain HTML. The templates are a very close representation of the final output, dramatically shortening the design cycle.
Lets say your using the featured products module. You find the default description displayed is too long at 130 characters. Without the way Prestashop is coded using smarty, you might have had to mess with the PHP. But with the way Prestashop uses the tpl files all you need to do is go to modules/homefeatured, open the tpl file, find this line:
{$product.description_short|strip_tags:htmlall:'UTF-8'|truncate:130}
and simply change 130 to something smaller, say 90 and that it, the description on each product displayed in thsi module is now 90 characters long - no risk of you creating any syntax errors in php. This is a very simple example, but you get the idea.
So Smarty gives more flexibility to designers who are not PHP developers and I recommend that you find the time to get to grips with Smarty if you plan to build many Prestshop sites. Now, if you only want to change the the html and CSS on Prestashop, its not essentail to learn Smarty, but I recommed it.
Where to next: Take a look at http://www.smarty.net/crashcourse.php, then download and install smarty and get familiar.