Difference between Factorization Machines and PCA?
The main difference is that PCA is a dimensionality reduction technique, while Factorization Machines are classifiers. You can use PCA to simplify/compress a given dataset, while you can use FMs to classify your observations.

The other difference is that PCA is a linear technique, while FMs are non-linear. PCA extracts later factors that are linearly associated with your input variables, while FMs, on the other side, can "learn" non-linear patters in your dataset.