The framebuffer creation code accepts a renderpass object in part of the creation parameters. The renderpass contains options for clearing the depth and camera images. So now we need a bunch of different renderpass objects and a bunch of different framebuffer objects to handle each combination of settings, and something that should be very simple turns into this cascading explosion of code.
An example application of this feature would be a rear-view mirror situated across the top of the screen. You would not want to clear the whole screen, just the viewport of the second camera.
An example where you don’t want to clear the color buffer would be if you use two cameras with different ranges to render a larger view than would be possible with the limits of the depth buffer. For example, you could have one camera with a range of 0.1-1000, and another camera with a range of 1000-10,000. You would want the depth buffer cleared between those renders, but not the color buffer.
I do think the vkCmdClear…Image() functions should have an additional parameter for a region or a series of regions to clear.