In a study recently published in the Journal of Cognitive Neuroscience, scientists said that normal 9- and 10-year-olds, differing only in socioeconomic status, have detectable differences in the response of their prefrontal cortex, the part of the brain that is critical for problem solving and creativity.
This study will I think be interpreted in three different ways. The right wing response will be that social class reflects innate ability, and that people are poor because their brains don't work properly. The liberal/left response will be that impoverished environments stunt brain development (nutrition, language complexity, mental stimulation).
I've got more sympathy with the second, which is probably right at least in part.
My perspective, which I don't think many people agree with, is that intelligence is a social role, which people adopt or reject according to their social circumstances (leaving aside people with developmental disability). I think we can choose to 'act brainy' - pay sharp attention, be sceptical, dig deep for creative responses. But, in some circumstances this is a very bad idea. It antagonises people. It can alienate people from their social support network. It can complicate tasks that should be simple.
I think people are taught as small children to find a comfortable point in the intelligence spectrum, and apply that much energy as they need to maintain that equilibrium. People in powerless circumstances are taught to protect themselves by being malleable, passive and non-assertive (intellectually). They are taught to have low expectations of themselves.
I think social roleplaying, and the way people find a niche by fitting into the social space available, accounts for a lot of supposed 'variance' in intelligence.