Overall, my experience is that small cars never throw the same amount of heat as larger vehicles. My dad has always had a GM pickup truck of some sort. Those pickup trucks will cook you in the cab even on the coldest days.
Thus the problem expressed here could be a number of things, & everyone has already suggested them. Some are definitely worth trying before giving up on the car.
My little 1990 Ford Festiva never produced much heat, but that little car was quite efficient. That car was on its 9th muffler when I sold it. I bought a lifetime muffler from Midas, and they gave me 7 free ones. Mufflers lasted about 1.5-2 years. When they took them off, water would drain out of them sometimes. The car did a lot of short trips in the winter, because I only lived about 2 miles from work back then. The Midas guys kept telling me the car didn't give off enough heat to evaporate the moisture in exhaust system. Seems like some type of drain hole would have helped, but it probably would have plugged up with rust. The bottom line is that 1.3L (64 hp) engine never threw much heat, but it was also a very tough and dependable engine.
Blocking off the radiator is definitely worth trying.
Engine block heater may get you off to better start in the morning.
You may want to have your heater core checked.
There has been a discussion about PTC heater attached to the heater core to assist in heating. Maybe your PTC heaters aren't working (blown fuse even)?
In the extreme cold a small car is going to struggle more. PTC heater are being added to vehicles in recent years, because engines are becoming more efficient (less wasted heat is given off). Hybrid especially are going to have this problem. Of course an old VW Bug with an air cooled engine in the rear of the car had to be one of worst examples.