To exclude or include the intercept in GLM model

When is is appropropriate to include or exclude the intercept from a regression model? SPSS provides this option in the GLM menu.

I am assessing group difference (gender) on tasks performed (X) and income earned (Y). In this case, if no task is performed, then no income is earned.

The SPSS guidelines states here:

"Include intercept in model. The intercept is usually included in the model. If you can assume that the data pass through the origin, you can exclude the intercept."

My stats knowledge is a bit rusty now but I remember my teacher saying that you should never exclude the intercept!

-
possible duplicate of When is it ok to remove the intercept in lm()? –  onestop Feb 24 '12 at 15:17
The question to ask is not whether $(0,0)$ lies on the curve ("no task performed, then no income is earned") but whether it lies on the extrapolation to the origin of the rest of the data. If not, then $(0,0)$ does not fit the model, so forcing the curve to go through it would be a mistake. By analogy, consider a person surveying the top of a cliff bordering the ocean. When they map the elevations, it would be foolish (and dangerous) to force the ground surface to meet the ocean (and thereby erase the cliff): people could get killed that way! –  whuber Feb 24 '12 at 16:24
-1 because of the duplicate as referenced in onestop's comment. –  Peter Ellis Feb 25 '12 at 0:11
There are some GLMs in which having an intercept does not make sense even for lack-of-fit testing. The basic Bradley-Terry model is one example where we want to enforce the symmetry only attainable if we exclude the intercept. –  cardinal Feb 26 '12 at 3:11
Thanks @whuber. As you pointed out, it is to do with extrapolation. In my case, there is no extrapolation beyond the origin. Am I thinking correctly here (statistically speaking!) –  Amarald Feb 27 '12 at 1:39
show 1 more comment