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.