Lots of reasons.
Leveraging platform-specific functionality, enabling use in embedded systems, as a learning exercise, etc.
What is not needed is a header file which redeclares the same C standard function signatures defined by the replacement allocator.