I have a smart contract deployed to Sepolia network. One of the method emits 3 events. Please take a look at https://sepolia.etherscan.io/tx/0x31f77360db4cd51f5db7954d143d0fb514b96d71fa409c17b3412f78c11ee6a3#eventlog as an example.
There are 3 logs and 2 of them are Transfer but the last one doesn't have any name as shown in below screenshot.
The first two Transfer events are emitted from @openzeppelin/contracts/token/ERC20/ERC20.sol code while the last one was emitted by this contract, the code is:
event SectorCreated(address owner, int x, int y, uint256 width, uint256 height, uint256 price);
...
emit SectorCreated(msg.sender, x, y, width, height, price);
I am not sure what the SectorCreated event is now shown. What is the different between the Transfer and SectorCreated events?

Etherscan uses combination of its own database and ABI of the event emitting contract to decode the signature hash (
topics[0], e.g. value0xbfa038b0...) into human-readable format (e.g.SectorCreated).The
Transferevent is likely in their own database (because it's standardized ERC-20 event), butSectorCreatedis not.In this case, the contract that emitted the event is 0xc9986cf63eee2d04117300e1963083ccbb2ea301. Its source code / ABI is not verified on Etherscan, so the site doesn't know how to decode events that the contract emits.
Solution is simple - verify the contract source code on Etherscan. I'm just not sure if it applies retroactively to already sent transactions or only new ones after the verification.