But especially with lodging this rule [book direct] is not true.
I've definitely found booking direct to be the best way to boo accommodations. Now, admittedly, my booking experience has been almost exclusively in Germany and in smaller towns, where I have booked almost 160 nights at 47 properties in 39 towns.
I almost always start my search in the town website (town_name.de) or sometimes just with Google Maps, but I always look at what Booking,com has to offer. In short, I have never booked a room with Booking.com; I have always found as good a deal, usually better, booking direct vs. Booking.com.
Compare Booking.com with the same property booked directly. Booking will try to tell you that you cannot get a better price booking directly, but that is not usually true. Properties have a number of ways to get around that. One is to offer package deals not offered on Booking. First case in point: We stayed in a hotel in a spa town in the Black Forest. The price of a double room for two nights was the same on both Booking and the hotel site, but on the hotel site we were able to get a package deal, including Therme entrance (which was the whole reason we stayed there) for only a little more than the room alone on Booking. Net result was about 20€ per person difference vs booking with Booking and buying Therme entrance separately - booking directly was less expensive. Another time I stayed in a lodge in the Harz; the package deal offered for 5 night by the lodges was the same as 5 nights with booking, but the package deal included one meal per day (in addition to breakfast).
I know of a hotel in the Bavarian Alps that has 9 rooms, priced over a range depending on size, what floor it's on, and whether it has a balcony. There is one deluxe room at a higher price than the others. On Booking, all room shown as available at the hotel are priced at that maximum price. If the most expensive room is available and they give it to you, and you pay the same for that room on Booking as you would direct, but if that room is taken, you get a less expensive room from Booking but still pay the higher price. I've seen other hotels where there are two levels of rooms, standard and deluxe. Only the deluxe price rooms are shown as available on Booking - I don't know if you even get the deluxe rooms with Booking, but if you book direct you can get a less expensive room that is probably perfectly adequate. And there are some properties that just flat-out defy the booking websites and offer rooms for less if you book directly.
But the real difference between booking directly and booking with a booking website comes from the far greater number of places to choose from by using Google Maps or a town website. I have found, through numerous comparisons, that most small towns have 2 to 3 times as many places available as there are shown on a booking website, and the few places shown on booking websites are invariably the most expensive places in town - the places that are overpriced enough to afford the 15% to 20% fee that booking websites charge.
There are a few major cities where the town website is a captive of a booking website (like HRS in Munich). In these places, every property on the town website still has to pay the website's fee, but you can usually use Google Maps to find places that are not captives of booking sites.
Then they should price accordingly. But they don't as a general rule.
I've seen a lot of hotel that do price accordingly. Some even tell you, "book directly with us and save".