As commented earlier it is considered best practice to not modify bootstraps less files, and instead add your styles in a stylesheet/less file that will override bootstraps. This way you'll avoid problems when upgrading to new versions of bootstrap - and when you need to track down errors it will be alot easier just looking at your overrides.
Now you might run into problems related to overriding, and trying to figure out why your applied style isn't overriding bootstrap's style. In that case i reccomend you to read up on Andy Clarke's great article - CSS: Specificity Wars (it's a bit old, but still a great explanation of css specificity):
http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html
EDIT - So to better explain the advantage of multiple class-blocks, here is first an example of using two classes to style one element:
CSS:
.center {
margin: 0 auto;
}
img.center {
display: block;
}
HTML
<div class="center">This will center horizontally</div>
<img class="center" src="foo.png"><!-- this image will also center horizontally -->
In the above example the image will be centered because it will inherit both rules. Now lets say that you want a nested ul to have a lower amount of padding than your regular (parent) ul, you would then override this by targeting its hierarchy (again the link posted above explains this)
ul {
list-style: none;
padding: 5px;
}
ul ul {
padding: 1px;
}
EDIT, answer for @Chris Moschini comment
Yes you can also override Bootstrap default values through LESS if you create your own less file which imports bootstrap.less - and then override the variables you want to change.
@import "less/bootstrap.less";
@brand-primary: red;
To see what you can override look at the file variables.less on git, you can also checkout the mixins.less file if you'r looking to mess around there too.
But in many cases you'll need to do some overriding through css specificity.