Yep it's mostly the terrain which provides good defense for Italy and the inability as UK to bring too many troops to the fight because of poor infrastructure and the limit it puts on supply.
Possible strategy: don't try to fight them, just hold the front and let Italy attack you. Sink their troops and supply convoys in the Red Sea and along the coast of Somalia. Eventually they'll start to wither while you build up your planning bonus. Then you can run straight over them, or you can encircle them first and cut them off completely from oversea supply and reinforcements by capturing the provinces all along the coast.