In a number of statistical packages including SAS, SPSS and maybe more, there is an option to "suppress the intercept". Why would you want to do that?
If for some reason you know the intercept (particularly if it is zero), you can avoid wasting the variance in your data for estimating something you already know, and have more confidence in the values you do have to estimate.
A somewhat oversimplified example is if you already know (from domain knowledge) that one variable is (on average) a multiple of another, and you are trying to find that multiple.
Consider the case of a 3-level categorical covariate. If one has an intercept, that would require 2 indicator variables. Using the usual coding for indicator variables, the coefficient for either indicator variable is the mean difference compared to the reference group. By suppressing the intercept, you would have 3 variables representing the categorical covariate, instead of just 2. A coefficient is then the mean estimate for that group. A more concrete example of where to do this is in political science where one may be studying the 50 states of the United States. Instead of having an intercept and 49 indicator variables for the states, it is often preferable to suppress the intercept and instead have 50 variables.
To illustrate @Nick Sabbe's point with a specific example.
I once saw a researcher present a model of the age of a tree as a function of its width. It can be assumed that when the tree is at age zero, it effectively has a width of zero. Thus, an intercept is not required.