It’s worth it to visit all year long (except New Year’s Eve. New Years Eve is nothing too special in Barcelona, in my opinion).
The temperature at day time is around 10-15 degrees, the coldest months are January and February. It can happen that there will be snow. BUT…that only happens every other year, and it’s just a few snow flakes.
Seriously, if you are used to snow, this is nothing!
In the colder months you can enjoys less crowded Barcelona; less tourists, lower prices. If you are lucky, you can find flights to Barcelona for less than 10€ and accommodation prices drop as well.
What to do in Barcelona in winter?
Skiing and snowboarding (3 hours outside the city)