Both clear up memory but the intended use case is paired.
free and malloc/caloc/realloc go together and likewise for delete and new.
Another point of differennce is that the first set does not call constructors and destructors while the later one does.