sed -i creates a temp file. Needs additional storage space the size of the file.
This can pose a problem with large files on smaller computers with limited storage and memory.
In the past, some BSD seds (other than FreeBSD) did not have the -i option.
Also worth noting that "sponge", unlike sed, apparently reads the entire file into memory. For a large file, this would require enough RAM to fit the entire file.
-i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied)