They make CSS rich and dynamic
                        
                    
Extends CSS but stays close to CSS syntax
                    
                    They make hex codes easier to remember
@nice-blue: #5B83AD;
@light-blue: (@nice-blue + #111);
#header {
    color: @light-blue;
}
#footer {
    color: @nice-blue;
}
                    
                
#header {
    color: #6c94be;
}
#footer {
    color: #5b83ad;
}
                    
                Use entire blocks of CSS as variables
.bordered {
    border-top: dotted 1px black;
    border-bottom: solid 2px black;
}
#menu a {
    color: #111;
    .bordered;
}
.post a {
    color: red;
    .bordered;
}
                    
                
.bordered {
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
#menu a {
  color: #111;
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
.post a {
  color: red;
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
                    
                Reuse blocks with parameters
.border-radius (@radius: 5px) {
  border-radius: @radius;
  -moz-border-radius: @radius;
  -webkit-border-radius: @radius;
}
#header {
  .border-radius;
}
.button {
  .border-radius(10px);
}
                    
                
#header {
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}
.button {
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}
                    
                Rule in rule in rule…
#header {
    color: black;
    .navigation {
        font-size: 12px;
    }
    .logo {
        width: 300px;
        &:hover { text-decoration: none }
    }
}
                    
                
#header {
  color: black;
}
#header .navigation {
  font-size: 12px;
}
#header .logo {
  width: 300px;
}
#header .logo:hover {
  text-decoration: none;
}
                    
                Easy way of doing tedious things
@base: #f04615;
@width: 0.5;
.class {
  width: percentage(0.5); // returns `50%`
  color: saturate(@base, 5%);
  background-color: spin(lighten(@base, 25%), 8);
}
                    
                
.class {
  width: 50%;
  color: #f6430f;
  background-color: #f8b38d;
}
                    
                Now your CSS can do maths!
@base: 5%;
@filler: (@base * 2);
@other: (@base + @filler);
color: (#888 / 4);
background-color: (@base-color + #111);
height: (100% / 2 + @filler);
                    
                
color: #222222;
background-color: #444444;
height: 60%;
                    
                Remember a Python script?
@import "variables.less";
@import "mixins.less";
#container {
    background-color: @nice-blue;
}
#content {
    .bordered;
}
                    
                
#header {
  color: #6c94be;
}
#footer {
  color: #5b83ad;
}
.bordered {
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
#menu a {
  color: #111;
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
.post a {
  color: red;
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
#container {
  background-color: #5b83ad;
}
#content {
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
                    
                
                    Code samples were taken from lesscss.org
This presentation: 
kaustavdm.github.io/less-webcamp-presentation