Formulas in R can be thought of as a "little language" since they obey a different structure and syntax from expressions.  Expressions when evaluated produce some result such as a number, vector or list which is then displayed by the print function.  Formulas on the other hand are used as a concise and intuitive way of specifying a statistical model. 

For example, consider a multiple linear regression of y on a numeric variable x1 and its squared value, x1^2 and a categorical variable x2.  Note that in R categorical variables are called factors. This regression is specified by:

y ~ x1 + I(x1^2) + x2

and could be fit using the lm function:

lm(y ~ x1 + I(x1^2) + x2)

In the formula notation, "~" means the left-hand-side is the independent variable or response and the right-hand-side are the dependent variables.  The I(x1^2) means interpret the inside expression as a regular expression in R.  Including a factor variable like x2 is very convenient since we don't have to be bothered about specifying all the indicator variables as we would have to do in other statistical software.