What are the tradeoffs between KD-Trees and BVHs (i.e. when is it preferable to use one over the other)?

One drawback of BVH seems to be the fact that you need to compute the closer intersection after you recurse into the children. On the other hand, one drawback of KD-Trees seem to be that objects may be included in multiple voxels and thus there may be some overhead in computation (without caching).

What are the tradeoffs between KD-Trees and BVHs (i.e. when is it preferable to use one over the other)?

One drawback of BVH seems to be the fact that you need to compute the closer intersection after you recurse into the children. On the other hand, one drawback of KD-Trees seem to be that objects may be included in multiple voxels and thus there may be some overhead in computation (without caching).