"He offers him dinner."
Translation:Han bjuder honom på middag.
Oooh good question. I'd almost say "hon bjuder honom på middag" is a bit more along the lines of she treats him to it, whereas "hon erbjuder honom middag" is a bit more that she offers him dinner.
In a context where you're at restaurant or a shop or something, "bjuda på" always means pickup up the tab, whereas "erbjuda" just means "offer".
I think the English translation obscures why 'på' is necessary. It feels natural to think that if a preposition is needed, it should concern 'honom' since he is offering something TO him, but that's not exactly what the sentence means. As I understand it (and correct me if I'm wrong, I'm far from a native speaker), it's more like "he invites him for/to dinner" and in that case 'på middag' makes more sense. Hope this helps!
It’s just that some verbs always need a preposition, and ”bjuda” is constructed with ”på”. It sounds odd if you leave it out. In English you say ”I apologised for it” and ”I believe in ghosts.” and you cannot say ”I apologised it” or ”I believe ghosts”. It’s the same thing, really.