While blockchain data is public, slightly different smart contract implementations can result in variations in how data is generated and ultimately affect any analysis done with the data.
Some common pitfalls of existing ERC20, ERC721, and ERC1155 token implementations are:
Contracts where function 4byte hashes are not in init block. This results in the smart contract appearing not to be a token and needs to be added to the database manually
Contracts where one of methods is not implemented. This result in the smart contract appearing incomplete. If this is by design, then this token needs to be added to the database manually
Proxy contracts where the actual implementation is on another contract. This also require manual curation to add to the database
NFT collections like CryptoPunks were created before the ERC721 standard and requires manual curation to see the data associated with it
One benefit of Nansen Query is that many of these differences have been abstracted away to present you with a rich, standardized dataset that includes the most commonly used data points along with the raw events for more detailed analysis.