There is so many media management programs out there that, in my opinion, I lot of development would have to go into Firefly to even come close to matching the features they have. I use MediaMonkey – in large part due to the ability to integrate scripts with the program. For instance, once I converted my music collection over to a NAS I found out that for playlists to be recognized by Firefly that the paths to the playlists tracks needed to be modified to be picked-up. This was a simple process under MediaMonkey. Another example, is playcounts. Firefly stores these in it’s own database. It’s on my to do list to have these populate back to MediaMonkey.
That said, I do like Firefly’s smart playlist feature. This too is available within MediaMonkey but I’ve ended up using Firefly’s for certain instances and MediaMonkey’s for others. I guess it all depends on one’s listening habits.
Hope this helps some.