войди - can mean only to enter, (войди в здание = enter the building, войди внутрь = enter inside)
зайди has a broader meaning, usually go to or visit somewhere/something/somebody (зайди в магазин и купи сок = go to a store and buy juice, зайди к дяде Джону - go and visit uncle John), зайди can also mean 'move behind something, like corner, building... e.g. зайди за угол = go and turn round the corner, зайди за это здание = go behind that building).