Junk mail is annoying to sort through and it is a waste of paper (meaning a waste of trees).
There are 4 steps to stopping almost all unwanted post coming through your door.
1. Get a sticker for your letter box, such as this one from Amazon for under £3. It says 'No junk mail or flyers please' and it seems to stop most supermarket promotions and takeaway leaflets.
2. Register for the Mail Preference Service, it is free and it will mean that your name (and any other names you register with them) will be removed from lists used by companies sending out marketing mail. So you will no longer be sent junk mail personally addressed to you, but you will still receive junk mail addressed 'to the householder'.
3. Opt out of Royal Mail Door to Door, doing this stops all unadressed items being delivered to your household by the Royal Mail. It involves clicking on the link, downloading a form, printing off the form, signing the form and posting it in an envelope to: Freepost ROYAL MAIL CUSTOMER SERVICES. So it is a bit of a faff, but worthwhile for the amount of pointless post that it stops. It takes 6 weeks to come into force and then lasts for two years.
4. If companies still send you unwanted catalogues, addressed to you personally, then cross out your address, write 'Return to Sender' on the outside and 'Please remove me from your mailing list.' Then put the catalogue into a postbox. If this doesn't work then contact the company via online means and request to be removed from their mailing list.
These 4 steps worked for me - good luck!