Because it’s not both a house and food, nor a house-food. It is literally a house of food though, bìdh is the genitive form of biadh meaning food’s, of food.
Gaelic forms most of its compounds using genitive, in a similar way a school bus is bus-sgoile with sgoile being the genitive of sgoil, meaning school’s, of school.
There are some direct compounds formed by just joining two nouns together – but in those always the first one is attributing and the second one is the main part giving the meaning (like in English school bus is a bus that is only attributed by school) – such compounds tends to be older, and the second noun typically is lenited, eg. uainfheoil lamb (meat) from uan lamb and feòil meat.