Aggressive promotions, earlier than ever discounts, and warm weather combined to create a perfect storm that deprived most retailers of a happy 2015 holiday season. The National Retail Federation said on Friday that retail sales (excluding gas, cars, and restaurants) rose 3% in November and December, well below its forecasted 3.7% rise.

The list of stores that have had a hard holiday season is getting long: Macy’s (M) suffered a Christmas season debacle, with comparable sales falling more than 5.2%, leading to the department store to cut thousands of jobs. Gap Inc (GPS) reported another horrible period of sales declines that has dragged down even its recently thriving Old Navy brand. And Best Buy (BBY) scared investors when it reported a drop in business over the holidays, stoking fears about its continued ability to compete with the likes of Amazon.com (AMZN) in an area as competitive as electronics.

The pain extended to many others, including GameStop (GME) and Burlington Coat Factory (BURL), which said its outerwear sales were slammed by a super warm December. (Planalytics has estimated that the unusually warm weather in December cost specialty apparel stores $572 million in sales, and that tally doesn’t even include department stores and discount stores.)

There were a few exceptions to the gloom and doom. Struggling retailers J.C. Penney (JCP) and Barnes & Noble (BKS) fared relatively well.

Macy’s pegged 80% of its sales shortfall to the weather. But the truth is many factors are at play, most notably intense competition. Sensing a tough season ahead, big retailers like Amazon, Walmart (WMT), and Target (TGT) started Black Friday and Cyber Monday sales much earlier than in previous holiday seasons. (Amazon, Walmart, and Target will report holiday quarter sales in the coming weeks.) Kohl’s (KSS), which is looking to build on modest sales gains in recent quarters, opened its stores non-stop for 170 hours leading up to Christmas, compared to 100 hours in 2014.

“Make no mistake about it, this was a tough holiday season for the industry. Weather, inventory challenges, advances in consumer technology, and the deep discounts that started earlier in the season and that have carried into January presented stiff headwinds,” said NRF President and CEO Matthew Shay. “Retailers competed with one another and their own bottom line.”