Sweet challah is such an inseparable part of our Shabbat meals that it is hard to believe Jews are divided about whether we can recite hamotzi (the bread blessing) on it.
The halachah states that bread must be something you can eat with your meal. If it is too sweet, you could not eat it with savoury foods.
Sometime in the late Middle Ages, German Jews began baking sweet, braided loaves for Shabbat, copying their gentile neighbours. As Jews migrated to Eastern Europe, they took their sweet challah recipes with them.
It is perhaps for this reason that Ashkenazi Jews will make hamotzi on sweet challah, as long as it is not too sweet (Mishnah Berurah 168:33). This is a case of halachah shifting to accommodate a change in behaviour.
Sephardic Jews are strict and prefer their challah plain — without eggs or honey. And indeed, their traditional Shabbat loaves are flat and contain only flour, water, salt, and yeast.