My Honda Civic died after the temperature dropped lower than -30°C, and will only start now when I boost it. The previous owner told me about this, and he said he replaced the battery. But now, it's doing the same thing again only a year later. I'm wondering if it's something else?
The batteries on the cars will not have good cranking power especially if it is cold outside. My car does that too.
I usually jump it and it starts and runs fine, what I suggest you to do is
Throw a battery tender on it as long as it is parked.
Get the battery load tested, most automotive shops do it for free, if not you can buy one at the HFT for about 20 bucks and have it for you for ever. As said by @GettingNifty car batteries usually last about 3 to 6 years, depending on the manufacturer.
Make sure your car doesn't have any shorts or draw of current when not in use. to do this use an ammeter in series to the battery positive, the draw should not be more, I think not more than a couple amps.
Lead-acid batteries contain a solution of sulfuric acid (H2SO4) and water -- the solution is referred to as the battery's electrolyte. Adding a solute (in this case, H2SO4) to a solvent (in this case, H2O) will lower the freezing point of a solution. A fully charged battery has more H2SO4 than a discharged battery. The additional H2SO4 depresses the freezing point of the batteries electrolyte to around -70 °C
However, a discharged battery's freezing point rises to ~-10 °C. A discharged battery will freeze -- a charged battery will not freeze. A battery that has been frozen is very likely a dead battery.
For further info: http://mathscinotes.com/2013/02/battery-freezing-math/