To answer the question why
xelatex needs metrics: Every typesetting system needs them to decide where to put chars on the page, where to break a line, where to break a page. Without knowledge about width, height and depth of the chars (and some other information like kerning) typesetting it not possible.
The old engines like
pdftex needed the metrics in external files (in
tfms). This files had to be present at the start of the compilation. The new engines
luatex are able to extract the metrics on-the-fly during the compilation from the original fonts. But naturally they must be able to find the font during compilation - and this can fail for various reasons (wrong font name, font cache not up-to-date, bugs, ...).
Without more exact informations from you (complete minimal example, exact wording of the error message, where is the font, log-file) it is difficult to say why it did fail for you.