We've got plenty of good answers already so just want to share my head warm set up depending on the temperature. I also live in Sweden and in my daily commutes experience from +25C to -20C.
+15C and up - only helmet, no head wear.
+5C to +15C - helmet with a cycling cap.
+0C to +5C - this is where stuff gets serious. On the upper limit of the range it could still be acceptable to ride without any ear protection in a normal cycling cap, due to the fact that our ears (or at least mine) adapt really quickly to cold by increasing a blood flow. Otherwise light ski scarf on the ears could help, or light cycling cap with ear cover.
-10C to +0C - for these conditions it's impossible to live without ear covers. I have winter cap with ear covers which is too warm, so mostly I use thin balaclava which goes around my face. Winter cap is not perfect for such conditions because you would also want to cover your neck. So too warm winter cap with ear covers in my case feels like a bad purchase.
-20C to -10C - in these conditions it's very important to both protect your face and your lungs. This is when I go for a full face balaclava for cycling with breath holes and ski goggles.
Hope my experience would help anyone to stay warm :)
UPD: also would like to add that commuting in cold temperatures adds unexpected requirements to your face wear. When it comes to lower than 0+ temperatures I also use protective lipstick (very greasy, you come to this naturally) and of course always use protective glasses, transparent for the dark part of the year, which are getting replaced by ski goggles when stuff gets even more serious.