The acronym “CFD” stands for “Computational Fluid Dynamics” and refers to the study of fluid motion through the numerical solution of a set of equations.
The acronym “FEA” stands for “Finite Element Analysis,” which refers to a method of numerically solving partial differential equations.
These are therefore two different concepts, which, strictly speaking, should not be compared. It’s a bit like asking you “what is the difference between a chicken and a building?”…
Nevertheless, this question is justified by the language shortcuts we regularly use in the professional world.
The term “FEA” also refers to numerical simulation in structural mechanics. This discipline aims to calculate stresses and deformations in a solid, and is particularly used in industry for the mechanical strength of structures. The reason for this is that the mathematical formulation of the problem is particularly suited to resolution using the finite element method, and the overwhelming majority of software is based on this method, which has ultimately led to confusion between the two terms.
CFD is not without its faults either: when using it, we often implicitly think of the finite volume method, used by major software programs (Fluent, OpenFoam, StarCCM+, etc.) because it is inherently conservative.
And yet, it is entirely possible to perform a CFD calculation with FEM!