Hence, when we wish to say I was bound to do this two years ago, we cannot say I ought (owed) to do this, &c., since ought is already used in a present sense.
We therefore say, instead, I ought to have done this two years ago; which has a similar, but by no means an identical meaning.
I was bound to pay two years ago, means two years ago I was under an obligation to make a payment, either then or at some future time.
I was bound to have paid, &c., means I was under an obligation to have made a payment.
If we use the word ought, this difference cannot be expressed.
Common people sometimes say, you had not ought to do so and so; and they have a reason for saying it.
The Latin language is more logical. It says not debet factum fuisse, but debuit fieri.