One 'trick' that might help is to tell Calibre to Copy its library to another folder and then tell Calibre to delete the original library. The files left behind should be the 'extra' files that Calibre does not now know about. You can then work through these to see if they need re-adding to the a calibre library copy you have just made to end up with a library where the Calibre metadata database is consistent with the underlying files..
I would recommend that you make a copy of the existing Calibre library folder at the OS level before trying the above to protect yourself against accidents.
As was said earlier, the question arises as to why there is such a mismatch between the Calibre metadata database and the actual files in the first place?