Why do we classify with P(class | features) instead of P(features | class)? Most of classification models are based on searching for a class maximizing P(class | features). But why not the opposite, P(features | class)?
Then, the second question is, are there any situations where the latter is more appropriate?

The class is unknown. The features are known. It doesn’t make sense to use the unknown to predict the known. We neither have access to the unknown nor need to guess about the known.
For instance, it makes sense to use world events from this past weekend to predict if the stock market will go up or down tomorrow. It makes less sense to use tomorrow’s market movement to predict what happened over the weekend.
Also worth a mention is that, by Bayes’ theorem, P(features|class) is implicitly considered by P(class|features).
