I live in Richmond, VA and would like to know when is the cheapest time of the year to have a roof put on? Also, does temperature make a difference?
This would come from any basic economics course on the first day - The law of supply and demand. If there is too low of demand for roofers then they will lower their price to get work. If a hurricane or major winter storm comes through then there will be a great demand for roofers and all the roofers will be busy. In that case the prices for roofing will skyrocket.
These things can happen on the drop of a dime. I'm in Philly and every 3-4 years we seem to get a 6 month drought. Roofers are then starving and will do anything to get work. Last year (Sept 2011) a hurricane came through and that got me enough work to go all the way through winter. I lost a lot of work then simply because I could get to it all. I was getting 30 calls a day for the first week. Then in the spring things slowed down.
What business conditions are like in your neck of the woods I don't know. It depends on a lot of things such as weather (as in major storms), economy, how many roofers there are in your area, etc. Right now roofers along the Jersey shore certainly aren't going to lower prices during the winter. They'll be busy for years replacing all those roofs. They will drastically raise prices while they can get it.
The temperature does make a difference as to how a roof gets installed. On hot asphalt roofs the asphalt will cool faster so you have to move faster in the winter before it hardens. In the summer it's too hot to do shingles but many roofers will do it anyway but the shingles get damaged in the heat. Int he winter shingles are very fragile and many roofers don't take special care not to break them when installing them.