As the name suggest, the ERC721TokenReceiver interface is to receive the callback for an ERC721 NFT. If you are writing a contract that would receive some NFTs, the ERC721TokenReceiver interface may be inherited in your contract. So, it would enable your contract to get a callback function call from the ERC721 NFT contract to your contract. When someone transfers an ERC721 NFT to your contract, you would receive the callback call to the onERC721Received() function, and you would be able to perform some action accordingly. However, the pre-requisite for this callback is that the ERC721 token sender must call the safeTransferFrom() function present on the ERC721 implementation.
If your receiving contract does not inherit from the ERC721TokenReceiver contract and does not have the onERC721Received() function...