Vdev initialization, what is it good for?

By chance I discovered via zpool status -i that the vdevs on my several-day-old pool were uninitialized. ZFS has been functioning just fine.

Should I initialize my vdevs? Why or why not?

When does it and when does it not matter?

man zpool-initialize is not very helpful:

Begins initializing by writing to all unallocated regions on the specified devices, or all eligible devices in the pool if no individual devices are specified. Only leaf data or log devices may be initialized.

Google is no help. ChatGPT suggests that it can help new block allocations go faster and that it can prevent recovery of old private data that may remain on the device from a previous file system. Those explanations both seem plausible, but I don’t have enough confidence in ChatGPT to rely on it being correct.

zpool initialize can be used to force thin-provisioned devices to incur the cost of allocating upfront instead of doing it over time as you fill the pool. See OpenZFS 9102 - zfs should be able to initialize storage devices · openzfs/zfs@619f097 · GitHub.

I have seen it suggested that using ‘initialize’ is a faster/somewhat unreliable way to do a drive check.
It will make zfs hit every spot on the disk at least once, and thus possibly trip any bad sectors to reallocate before you actually try and write real data to them.
In other words, a quicker bad blocks for new drives or drives you aren’t sure of.

I’ve never seen it recommended as a ‘must’ thing, just a ‘you can’ thing.