Why are real median household incomes stagnant? This image shows US real median household income.



It seems remarkable for its lack of growth over the last 20 years. This has been the subject of much political debate (around the "1%" and "occupy Wall Street" movements, etc.) but I am interested in more objective economic analysis of this phenomenon.

Given that people are better educated and are working with better technology (which should make them more productive), and that the real economy has grown more generally, what economic theories can explain the lack of growth in real median household income?
The metric of median household income is also used by others to argue the presence of income inequality:
https://en.wikipedia.org/wiki/Income_inequality_in_the_United_States#Causes
However, it seems that it is not only the median but also the mean that stagnates:

(I used family instead of household income because I could not find a time series for mean household income.)
If the problem was only one of inequality then the mean income should still increase.
I think there are several reasons why median household income seems to stagnate.
First of all I think there is a visible upward trend that is only somewhat masked by the 2008 financial crisis. Granted this trend is still smaller than the increase of productivity. Why median household income grows at a slower pace than before is still a question.
I think the problem arises because neither the number of households nor their distribution is constant.
Changing size of households
One thing that I believe has an effect is that [average household size has decreased over the period you are looking at][3].

(I had some trouble opening the Census Bureau's xls files.)
So while total household income has in fact increased it is now divided between more numerous, smaller households making both the mean and the median smaller.
Changing composition of the US labor force
Another reason might be immigration. According to [this site][6] (I don't know if the statistics are reliable, there are a lot of links on the site I consider to be politically biased) the mean immigrant income is lower than the mean 'native' income. This is not surprising, immigrants need time to adjust and build the social networks necessary to get good jobs. Depending on the measure of productivity you use this can mean that while productivity in any given industry increases the weight of low-productivity industries increases as well. Thereby immigration may decrease mean and median income.
Note that this does not imply anything about the effect of immigration on the welfare of 'natives'. I am not claiming that the median household income of 'natives' is increased or decreased, I am pointing out that the weights used in the calculation are shifting.