I almost always book directly through the resorts website. If you book early enough you almost always get it cheaper than any of the booking sites. At almost all of them, if you join their free loyalty clubs you get some discounts or the ability to pay when you arrive instead of in advance. You also accrue points for subsequent stays which you won’t get with third party bookings.
Example: We are going to Playa del Carmen in February for 8 nights for about $2800. The resort was about $300 more on Expedia.
Second, with a third party booking you have to deal with them if there is an issue. Did it once- it was a pain. It is much easier to deal with people directly.
I use the booking sites as a convenient way to look up what is available in an area, then research any of the places I think we might like.
The one exception to the price difference I have found is Costco Travel if they have the place you want to stay. Their flight/hotel/car packages are pretty competitive and if you have their card or are an executive member you get 2 to 3 percent back for later Costco shopping and often they have cash cards as a perk for booking. Their limitation is that they usually only have a few choices for an area compared to Booking.com or Expedia.