The main cause of heavy or dense bread is a lack of rise. Bread can have a reduced rise for a number of reasons including not enough protein, not kneaded for long enough, left to prove for too long, too much salt. - Not enough protein in the bread would mean less gluten and so not as much CO2 can be trapped. The protein content comes from the flour, which is why it is important to use a flour with high protein content (bread flour).  - If the bread isn’t kneaded for long enough the gluten won’t have enough time to form and build up. In addition the yeast may not be fully activated.  - If the dough is left to prove for too long the yeast can die (over-fermentation). Its important to only prove for an hour in the first prove and then just 30 minute in the second prove. If you want to do the first prove over night you can do this if you place the dough in the fridge. The cold slows down the fermentation process. - Too much salt can kill the yeast so stopping the formation and trapping of CO2.