How many homes will 1 megawatts power?

This is very dependent on the society concerned, but I guess you mean in a developed industrial society such as the US or Europe, and again whether you mean average or maximum demand per house.

Making it simple, the average demand per house is about 2 Kw, so 1 Mw will supply 500 houses. However if all those houses were cooking their Christmas (or Thanksgiving) turkeys at the same time, this could easily rise to 5 Kw per house, and more if electric heating is in use. Spare a thought for the power station staff keeping it all going!