Limitation: these only work well within certain

The Black-Scholes model has one major limitation: it cannot be used to accurately
price options with an American-style exercise as it only calculates the option price at one
point in time — at expiration. It does not consider the steps along the way where there could
be the possibility of early exercise of an American option.
As all exchange traded equity options have American-style exercise (i.e. they can be exercised
at any time as opposed to European options which can only be exercised at expiration) this is
a significant limitation.
The exception to this is an American call on a non-dividend paying asset. In this case
the call is always worth the same as its European equivalent as there is never any advantage in
exercising early.
Various adjustments are sometimes made to the Black-Scholes price to enable it to
approximate American option prices (e.g. the Fischer Black Pseudo-American method) but
these only work well within certain limits and they don’t really work well for puts.
Volatility smiles and surfaces can show directly that volatility is not a simple constant.
It is more complicated function of time and function of assets, as well as function of both.
Volatility is hard to estimate, observe or predict, the classical method is to model it
The advantage of jump reversion process is that describes better the reality by both
point of view, economic and statistical time-series. We have two problems with jumpdiffusion
processes such as the impossibility to build a risk-less portfolio and difficulties with
parameters estimate.
The serious criticism is the difficulties with hedging. Due to the jump part, the market
is incomplete, and the conventional riskless hedging arguments are not applicable here.
However, it should be pointed out that the riskless hedging is really a special property of
continuous-time Brownian motion, and it does not hold for most of the alternative models.
Even within the Brownian motion framework, the riskless hedging is impossible if one wants
to do it in discrete time.