Video capture APIs come from a time when adding layers for sharing video equipment was unreasonable in terms of performance. In addition, with 2+ applications working with the camera, it would have to be done so that they agreed on the capture format in some way that both are done. Thus, this was the simplest and easiest way: you captured the camera, it is yours, and you can configure it for your needs. However, others will wait until you release the hardware before anyone else can use it.
You can find third-party software that shares a camera that internally captures it exclusively, and then provides a virtual camera that is available. This speeds up execution for flexibility.
The Audio APIs also blocked hardware only some time ago, but then at some point, the OS API introduced hardware abstraction levels for sharing hardware and for mixing from multiple applications behind the scenes.
source share