I've always understood dike to be an earthern mound which holds back water (always an issue growing up on the flood plain of the Red River, and therefore a common word), and dyke to be the disparaging slang word for "lesbian". Atomica lists dyke as an alternative to dike but I'd never seen the "earthen mound" version spelled that way before.