There are few things more annoying than jumping into your car on a freezing winter day only to discover that your heater isn't working.
Unfortunately, there are quite a few reasons that could cause this.
If you heater fan isn't blowing it's likely the blower motor has gone out. But it could also be that a switch has gone out. If, however, your fan does blow but only when you're driving at certain speeds, the culprit could be a bad blower resistor. The good news is that the repair is likely not expensive.
If you've got heat but it's just not up to par, you could have a bad thermostat, especially if your dashboard temperature indicator is low. This condition could turn on your "check engine" light.
Another cause of less-than-adequate heat could lie in your car's heater core. If it's blocked it won't heat. A flush can solve the problem. If you hear a clicking sound and no air is blowing from the vents, a blend-door motor needs to be replaced. This is one fix that needs to be taken care of immediately, since winter driving depends on your car's ability to defrost the windows so you can see to drive.
Likewise, if your heater is blowing only cold air the causes could be low coolant, a blocked heater core, a stuck blend door or heater valve, a bad switch or linkage. Wait for your car to cool off, then check the coolant, if it's low, at best, you may need to top it off. At worst you could be burning coolant, which means a blown head gasket.
Lastly, you may not be remotely thinking of your air conditioning at this time of year, but if it's not working, it can make defrosting your windows nearly impossible.