What is the difference between t() and l()?
The l() function is primarily for links. It takes the parameters of $text, $path, array $options = array() to properly translate links. It also returns a HTML string containing a link to the given path.

It's use looks something like this:

&lt;?php
  l(t('Link text'), 'about-us', array('attributes' =&gt; array('class' =&gt; array('about-link'))));
?&gt;


Another note is it looks as though it's going away in D8, as it currently has no entry in the APIs for 8. Instead, Drupal 8 will use the class:link like so:

$link = Link::fromTextAndUrl($text, $url);


t() is much more general and is used to translate strings. It also takes a different set of arguments ($string, array $args = array(), array $options = array()).