A standing order is a regular payment that you can set up to pay other people, organisations or transfer to your other bank accounts. You can specify the amount you wish to pay, how often, for how long, and what reference appears on statements.
A direct debit can only be set up by the organisation to which you're making the payment. This can be for a fixed amount or variable but a company must tell you if they are going to change the amount they are collecting from your bank account. You will also be covered by the direct debit guarantee.