If you are interested in seeing how this works, there is a free version of the software. It will create its own database of your music, and analyse/fingerprint each file.
There is also an HTML API, which allows you to send a song or set of songs and get a playlist back. You need to enable the API in the MusicIP options, then point your browser to
http://localhost:10002/api (on the same machine). MusicIP needs to be running at the same time for this to work, and you have to have the songs analyzed before you try this. But I've tried adding a single song into the mentioned page, and I've also sent my own "page" with a playlist. I have MC set up to play m3u, and if I select that type of return, the playlist will start right up in MC.
I believe what you get by buying the SDK is the ability to analyze the songs and create the playlists without having to use MusicIP itself (and needing it to be running). This would also allow for a single database rather than two (MC's and MusicIP's). BTW, I first heard of MusicIP recently in a blog about SqueezeBox. Squeezebox apparently uses the web API to create mixes from MusicIP using the Squeezebox/remote.
If you aren't sure what it does or how it works, I recommend giving it a try - the basic version is free. As an engineer, I appreciate how hard it is to define a set of song "metrics" that can be used to find similar songs. Try it, it works and is very cool.
BTW, I do have some songs in MP3 that I have re-ripped to flac - it identifies those as duplicates, even if the names are different.
[edit] I forgot to add the web API link:
http://www.musicip.com/mixer/httpprotocol.jsp[/edit]
Brett