H&M is TRASH quality. Comparing H&M to old navy is the same as comparing true religion to seven jeans, the quality of both are a joke.
If you're going to buy a classic garment that you know will never go out of style, might as well pay the extra cash for quality material and construction considering you'll be wearing it for at least 5+ years.
With that said, I'd highly recommend a peacoat with thinsulate.
H&M > Old Navy
No one said H&M was high end or known for their quality.
Personally, I would be caught dead in neither, but H&M collaborations with high end designers are dope.
But, I do agree you with on the point that you get what you pay for. Save your money and buy one nice item instead of five item of clothing from Old Navy.