A standing order takes the same amount of money on the same day of every month from your bank account. The amount cannot vary without the company which is in receipt of the money telling you that they want to change it.
A direct debit is a variable amount which goes on the same day of every month.
For example: the property management company in charge of the building where I live charges a monthly fee for its services. That fee never changes. I pay them £90 per month on the 1st day of the month.
However, my mobile phone contract amount changes depending on how many calls I have made, how much data I have used. The lowest amount they take on the 1st day of every month is £38 because that is the basic standing charge. If I run up extra charges through calls or data usage, that amount is taken out on top of the £38. Last month, for example, my payment was £47. I only find out how much will be taken when they email me my bill a few days before the money is taken from my bank account.
They are not interchangeable. You either agree to a standing order or to a direct debit in relation to a regular payment you make.