When I last did this, for a vacation, the cost at an aggregator was less if there was no cancellation allowed, and more if the option to cancel was added (but to a couple days before I believe), and needed to be paid at time of booking. When I called, I got a rate slightly less than the online+cancellation, I was able to cancel up to 24 hours in advance, and I only needed to pay on arrival, meaning I didn't tie up a few thousand for a few months.
There's also always the option to state the rate you found online and see if they are willing to match it. It's not like there usually some magic involved, if they're willing to offer it to an aggregator, why wouldn't they at least consider offering it to you direct?