The loss function is that parameter one passes to Keras model.compile which is actually optimized while training the model . This loss function is generally minimized by the model.
Unlike the loss function , the metric is another list of parameters passed to Keras model.compile which is actually used for judging the performance of the model.
For example : For some reason you may want to minimize the MSE loss for a regression model while also want to check the AUC for the model . In this case the MSE is the loss function and the AUC is the metric . Metric is the model performance parameter that one can see while the model is judging itself on the validation set after each epoch of training. It is important to note that the metric is important for few Keras callbacks like EarlyStopping when one wants to stop training the model in case the metric isn't improving for a certaining no. of epochs.