Usually air leakage rather than missing insulation. Older houses leak at the attic top plates, rim joist, and penetrations, and that moving air carries far more heat than the same area of under-insulated wall.
More detail
The instinct is to blame the furnace or the windows. In Greater Cincinnati and Northern Kentucky housing the larger number is almost always the building envelope, and within the envelope it is air movement rather than R-value. Here is the mechanism. Warm air rises, escapes through gaps at the top of the house, and pulls replacement air in through gaps at the bottom. That stack effect runs continuously all winter. Every cubic foot of heated air that leaves has to be replaced by outside air the furnace then heats from scratch. Insulation slows conductive heat loss through a surface; it does nothing about air moving through a hole next to it. Where the holes are, in rough order of impact. The attic plane, especially at top plates, around recessed lights, at the chimney chase, and at the attic hatch. The rim joist, the band of framing where the floor structure sits on the foundation, which is often bare in anything built before the mid-1990s. Penetrations for plumbing, wiring, and ductwork. Basement and crawl space perimeter. Why this matters for what you spend. Replacing windows is the most expensive envelope work per unit of heat saved and the most visible, which is why it gets sold. Air sealing the attic plane and the rim joist is among the cheapest and is invisible when finished. The honest first step is measurement rather than product. A blower door test puts a number on the leakage and an infrared scan shows where it is, which turns a guess into a work list. In Climate Zone 4A the code attic target is R-49 to R-60 depending on the code cycle adopted locally, and plenty of the mix of pre-1940 brick and frame in the basin, mid-century ranches in the first-ring suburbs, and 1980s-onward subdivisions further out sits at half of that with an unsealed plane underneath it.