Useless bloviation alert...
The way I see it, video is a bag of vipers - from a coding standpoint. There's a good reason that professional apps like Vegas still use video-for-windows (VfW) and or custom built-in codecs from outfits like MainConcept - timing, color-space, metadata, and containers are everything. VfW does very little beyond encode-a-frame/decode-a-frame - allowing an application to have complete control over the rest, (metadata, containerization, etc.). This solves a lot of problems 'getting it right'.
Even (commercial/professional) applications which forego VfW for DirectShow codecs generally provide their
own DirectShow codecs. These codecs are usually designed to provide custom timing and meta-information which isn't normally available with system provided codecs. Even some playback only applications, i.e., PowerDvD, use their own complete graph of DirectShow components to guarantee an optimal experience. Basically, if you simply let DirectShow build a code/decode graph, or you manually build one by simply selecting the appropriate codec with the highest merit, you are still at the mercy of that codec. It likely does not have all the out-of-band and meta-data you need to provide to a precision video application.
Case in point:
For years, Avid and others required a conform on all video prior to use. Now, of course, they have a level of support for for various container formats and codecs. (Unfortunately, it opens the door to whining about why it doesn't support the latest x.xxx...)
TIA