I managed to keep my music pretty organized over the years and XBMC pulls an insane amount of data for my music library.
Mine is separated into genres and no folders, as I use software DJ tools, so that is what works best for me. Going through folders and folders searching for a track is pathetic. So XBMC looks at the file name and tries to guess what it is. I even tried a renamer once but it incorrectly renamed half the files. I then tried MusicBrainz to use the audio fingerprint but that didn't help either as it kept saving info into the mp3 files from someone's personal german playlist as opposed to pulling in the actual info. So when I scrape with XBMC nowadays, half of the tracks pull in Bon Jovi's info, and the rest are either blank or fscked up.
I gave up...