What is the difference between a particle filter (sequential Monte Carlo) and a Kalman filter? A particle filter and Kalman filter are both recursive Bayesian estimators.  I often encounter Kalman filters in my field, but very rarely see the usage of a particle filter.  
When would one be used over the other?
 A: From A Tutorial on Particle Filtering and Smoothing:
Fifteen years later:

Since their introduction in 1993, particle filters have become a very popular class of numerical methods
  for the solution of optimal estimation problems in non-linear non-Gaussian scenarios. In comparison with
  standard approximation methods, such as the popular Extended Kalman Filter, the principal advantage
  of particle methods is that they do not rely on any local linearisation technique or any crude functional
  approximation. The price that must be paid for this flexibility is computational: these methods are computationally expensive. However, thanks to the availability of ever-increasing computational power, these
  methods are already used in real-time applications appearing in fields as diverse as chemical engineering,
  computer vision, financial econometrics, target tracking and robotics. Moreover, even in scenarios in which
  there are no real-time constraints, these methods can be a powerful alternative to Markov chain Monte Carlo
  (MCMC) algorithms — alternatively, they can be used to design very efficient MCMC schemes. 

In short, Particle filter is more elastic as it does not assume linearity and Gaussian nature of noise in data, but is more computationally expensive. It represents the distribution by creating (or drawing) and weighting random samples instead of mean and covariance matrix as in Gaussian distribution.
A: From Dan Simon's "Optimal State Estimation":

In a linear system with Gaussian noise, the Kalman filter is optimal. In a system that is nonlinear, the Kalman filter can be used for state estimation, but the particle filter may give better results at the price of additional computational effort. In a system that has non-Gaussian noise, the Kalman filter is the optimal linear filter, but again the particle filter may perform better. The unscented Kalman filter (UKF) provides a balance between the low computational effort of the Kalman filter and the high performance of the particle filter.


The particle filter has some similarities with the UKF in that it transforms a set of points via known nonlinear equations and combines the results to estimate the mean and covariance of the state. However, in the particle filter the points are chosen randomly, whereas in the UKF the points are chosen on the basis of a specific algorithm*.  Because of this, the number of points used in a particle filter generally needs to be much greater than the number of points in a UKF. Another difference between the two filters is that the estimation error in a UKF does not converge to zero in any sense, but the estimation error in a particle filter does converge to zero as the number of particles (and hence the computational effort) approaches infinity.


*The unscented transformation is a method for calculating the statistics of a random variable which undergoes a nonlinear transformation and uses the intuition (which also applies to the particle filter) that it is easier to approximate a probability distribution than it is to approximate an arbitrary nonlinear function or transformation. See also this as an example of how the points are chosen in UKF."

