The main difference from a usage standpoint is that you can’t serialize files, only file names….the value of a file input.
FormData object on the other hand also includes files if applicable.
Also serialize() will work in older browsers that don’t support the FormData API for example IE < 10
reference FormData docs