Depends. If the cancellation terms are advertised then its point and click and done and money back in a few days - no questions asked - hotels.com or agoda.com - do it regularly as plans changed. Most of direct hotels you have to email their reservation staff and go through the back and forth reasons to get something cancelled - which is a PITA/risk if cancellation time is 31 minutes away. It is true though if it's a non-cancellable deal you'll have more look if booked direct.
Ever tried to get a directy to match the OTA price, sure it can happen, then you get ++, or some shit forex they choose, or some other bullshit, it's not worth the hassle most of time. In addition when directy will sometimes match without hassle but then what about hotels.com 1 for 10 booking room free, or expedia points (about the same), I want that extra 7-8% (since you dont earn on free night) or whatever it is off too... good luck
With oversell too, very common in asia esp vietnam, they are more likely to move the direct booking to their sister/partner hotel rather than OTA booking, the moment you say that's not acceptable let me call agoda/hotels.com all of sudden some other punter booking is being moved...
I dont stay high end though (2-3 star) and in fairness I do recall hearing direct booking on chains get special benefits like airport pickups or breakfast but never a better rate than OTA since thats the terms of the large OTAs (never advertise a better rate than us)
YMMV