I think the clients can check if the storage miners is storing the stored data by himself.
I have been wondering this too, and would love an authoritative answer.
If you read the white paper , specifically section 5.3.1, it discusses how retrieval cannot be handled on-chain because the chain would create a bottleneck for retrieval. So, I’m assuming that is the main reason for a retrieval market. As for why clients cannot function as their own retrieval miners, I am not clear on this part. They obviously can, but maybe the issue is that it’s a lot of work and therefore they may not want to?