Smartforms are a new type of form of the SAP System, that appeared in SAP R/3 4.7 (R/3 4.6c had Smartforms as well, but it was not yet stable).
Following are the main advantages of Smartforms over Sapscripts:
Reduced development time
Graphical interface
Web Publishing (through XML file)
As in Sapscritpt, a print program and the Smartform form are needed in order to print a form. The difference with Sapscript is that in Smartforms the process logic may be inside the form. The print program only provides the information obtained from the SAP Database or other sources.
This is the Smartforms Transaction:

It is divided in three:
On the left, the Navigation Menu
Centered, the Maintenance Frame
On the left the Form Painter
The Form Painter may be activated or deactivated by pressing the button Form Painter in the menu.
Let's see what's the purpose of this objetcs:
Navigation Menu: you can browse the different nodes of the form
Maintenance Frame: here are set all the characteristics of the objects (which can be selected in the Navigation Menu)
Form Painter: the form layout is designed here. Yoy can create windows, graphics and other objects that can be inserted in the form
Now, let's have a look at the types of nodes you can create:
Output Nodes
Page: a form page
Window: output area in a page
Elementary Nodes
Text: to show any text or table content
Graphic: to print graphics
Address: to include address data in the form
Output Table
Template: a table with static data
Table: table containing dynamic data
Flow Control
Command: executes special commands
Loop: processes the successor node repeatedly
Alternative: branch depending on a condition
Other Nodes
Folder: combines successor nodes in logical groups
Complex Section: combines all the node attributes
Program Lines: execute ABAP code
The nodes will be executed from top to bottom.
As we mentioned before, the form logic is included in the form itself and not in the print program. This allows power users with no programming knowledge to configure new forms with data gathered in the SAP system belonging to the related process.
The print program function is only to provide information to the Smartform; so, if a modification in the form logic is necessary only the form will have to be revised.