Midomi may have more features, but Shazam is MUCH better at doing the one thing it does: identify music. I'm still batting 100 with Shazam, while Midomi got about half right when I used it (I've since deleted it from my iPhone for redundancy -- I have no interest in humming a song into my iPhone, which never worked for me anyway).
Shazam has never ceased to amaze me. There have been so many situations where I'm in a restaurant with loud chatter, and the feint sound of music playing, and my boyfriend pulls out his iPhone with Shazam -- and I always give him a warning: "There's no way that it's going to pick up what's playing." And sure enough, it does! I too have tried to stump it with covers or remixes, yet it always picks the right version. And I've even tried it during live performances, and it's always worked!!
Too bad for the developers that made this for free, as they certainly deserve some compensation for one of the most amazing apps for the iPhone!