That's mightily disrespectful and sounds a lot like 'shits and giggles'.
Informing them of this and cancelling the interview is the most respectful thing they could have done. It's certainly better than wasting the author's time by making them give the presentation even though the company then knew there was no longer a position they could offer.
I highly doubt that the HR went from 0 to a hire in <1 week. The hired candidate was obviously already in a more advanced stage of the interviewing process when the OP was asked to make a presentation.
So they were double disrespectful: They asked for a presentation knowing that there's a very high chance it will be meaningless. They didn't have the courtesy to sit through the presentation they asked for, or at least offer a token of their appreciation for the time the OP put to prepare for the cancelled presentation.
That doesn't change anything. The company had no idea if the other candidate would pass the final interview or accept the offer until the very moment when they did, at which point they would have canceled OP's presentation. And that's what they did.
>They asked for a presentation knowing that there's a very high chance it will be meaningless.
So are you saying the better option would be for the company to say "well, there's a small chance we might hire you, but instead of giving you the opportunity we're just going to go ahead and reject you without even giving you the chance"? No, that's disrespectful.
>They didn't have the courtesy to sit through the presentation they asked for
Telling the candidate to waste their time giving the presentation that they already know won't change any outcome is disrespectful. If that had happened, we would all be here commenting about how the company is assholish for wasting OP's time by making them give a pointless presentation.
Accepting your scenario, this suggests that they did not really want to hire the candidate and at best thought they might settle - when it came to it, they were not even willing to compare the candidate at the next stage, despite already asking them to do this work.
They strung the candidate along.